Ich habe einen Bereich von I13 bis I6076. Ich beginne mit der ersten Zelle von I13 und finde eine Übereinstimmung in Range ("D12: D103333"). Wenn es eine Übereinstimmung in Col D findet, sollte es Activecell.offset (1,1) von Col D-Zelle versetzen und die nächsten 16 Zellen (vertikale Kopie) in die entsprechende I13-Zeile kopieren (horizontale Paste). und dann weiter zu I14 und so weiter. Ich habe eine do while-Schleife erstellt, um die Zellen im Bereich Range zu finden ("D12: D103333"), aber wie versetze ich und kopiere die nächsten 16 Zellen. und dann zur nächsten Zelle in Spalte I gehen. Jede Hilfe würde sehr geschätzt werden. Danke vielmals. Code ist unten.Suchen Sie einen Text in einem Bereich und kopieren Sie die nächste Activecell.offset (1,1) 16 Zellen zum Ziel
Sub Kantar()
Dim Category As String
i As Integer
Range("I13").Select
Do While Not IsEmpty(ActiveCell)
Category = ActiveCell.Value
Range("D12:D103333").Find(What:=Category, MatchCase:=True).Select
ActiveCell.Offset(1, 0).Select
Loop
End Sub
HI Busse, danke für diese Logik. Ich habe meinen Code tatsächlich geändert for-Schleife zu verwenden, anstatt zu tun, während, wie unten, – Kano
Sub Kantar() Dim Kategorie As String Rng As Range, MyCell As Range Set RNG = Range ("I13: I6086") For Each MyCell In Rng Kategorie = MyCell.Value Range ("D12: D103333"). (What: = Kategorie, Match: = True) .Select Weiter MyCell End Sub – Kano
Entweder oder, ' Denn "oder" sollte in diesem Fall für Sie arbeiten. Ich werde nicht für ein paar Stunden an einem PC sein, also sehen Sie, ob Sie mit den von mir bereitgestellten Notizen Änderungen vornehmen können. Ich hoffe es hilft ! – Busse