Ich arbeite an dem folgenden Code, um dieselbe ganze Zeile unter/unter Original einzufügen. Es fiel mir schwer, die Anforderung zu erfüllen, denn ich bin neu in der Erstellung von Makros.fügen Sie die gesamte gleiche Zeile darunter ein, wenn die Bedingung erfüllt wurde
Ich habe bereits versucht, aber nicht in der Lage, richtig zu codieren. Es arbeitet daran, eine leere Zeile einzufügen. Aber ich muss die Zeile einfügen, die die Bedingung erfüllt. Unten ist der Screenshot/Code für mein Makro.
Private Sub CommandButton1_Click()
Dim rFound As Range, c As Range
Dim myVals
Dim i As Long
myVals = Array("LB") '<- starts with 51, VE etc
Application.ScreenUpdating = False
With Range("F1", Range("F" & Rows.Count).End(xlUp))
For i = 0 To UBound(myVals)
.AutoFilter field:=1, Criteria1:=myVals(i)
On Error Resume Next
Set rFound = .Offset(2).Resize(.Rows.Count - 1) _
.SpecialCells(xlCellTypeVisible)
On Error GoTo 0
.AutoFilter
If Not rFound Is Nothing Then
For Each c In rFound
Rows(c.Row + 1).Insert
c.Offset(1, -1).Value = ActiveCell.Value
Next c
End If
Next i
End With
Application.ScreenUpdating = True
End Sub
Hallo Johnyl danke für das Teilen. Ich habe ein Problem in Set rngData = .Offset (1) .Resize (.Rows.Count - 1). der Fehler ist 1004 "anwendungsdefinierter oder objektdefinierter Fehler". Ich teste meine ActiveX-Steuerbefehlsschaltfläche in meiner Tabelle. kennst du das? Vielen Dank. – sayjon
@sayjon Ich sehe, dass Ihr Bereich von A1 Zelle beginnt, also Range ("A1"). CurrentRegion wird für Sie arbeiten. RngData dient zum Ausschluss des Headers. Ich weiß nicht, warum dieser Fehler für dich passiert. Ich kann es dir nur sagen, wenn ich mir das aktuelle Arbeitsbuch anschaue. – JohnyL
Jetzt habe ich es. Aber es gibt ein anderes Problem. Bei der ersten Ausführung funktioniert es gut. aber beim zweiten Klick auf meine Taste wird es kontinuierlich laufen und hängen. vielleicht fehlt ein Code, um die letzte Ausführung zu stoppen. Ich möchte nur einmal die gesamten Zeilen duplizieren, um zwei Zeilen mit den gleichen Daten oder Werten zu haben. Danke für Ihre Hilfe.. – sayjon