Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1792to1796
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Offset Methode in einer Schleife

Offset Methode in einer Schleife
09.11.2020 10:25:03
Sascha
Hallo allerseits,
ich habe eine Frage zur Offsetmethode in der Schleife.
Ich möchte in einem Range ("G27:G32") prüfen ob jeweils ein "X" oder "x" steht .
Sollte dort eine der beiden Einträge vorhanden sein, soll er den Wert kopieren, der 5 Spalten/0 Zeilen weiter vorne steht und in ein anderes Blatt einfügen.
Ich scheitere gerade daran die OffsetMethode dem jeweiligen Schleifendurchlauf zuzuordnen.
Hier mein bisheriger Code:

Sub Test()
Worksheets("Blatt1").Activate
For Each c In Worksheets("Blatt1").Range("G27:G32")
If c.Value = "X" Or c.Value = "x" Then
ActiveCell.Offset(rowOffset:=0, columnOffset:=-5).Activate
ActiveCell.Copy
Worksheets("Blatt2").Activate
Worksheets("Blatt2").Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveCell.Value = "Wert"
ActiveCell.Offset(rowOffset:=0, columnOffset:=1).Activate
ActiveCell.PasteSpecial Paste:=xlPasteValues
End If
Next c
End Sub

Ich bin bei Schleifen leider manchmal noch etwas unsicher. Habt ihr eine Idee oder einen Ansatz?
Vielen Dank für eure Hilfe im Voraus
gruß
Sascha

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Offset Methode in einer Schleife
09.11.2020 10:39:28
Luschi
Hallo Sascha,
in einem Makro ist der Verweis auf 'ActiveCell' selten eine gute Idee.; maßgebend ist doch die Laufvariable 'c' in der For-Schleife, also_
c.Offset(rowOffset:=0, columnOffset:=-5).Copy
Aber es sind noch ein paar Klöpschen im Code drin. Am besten ist immer eine Musterdatei mit Demodaten, erstellt vom Fragesteller.
Gruß von Luschi
aus klein-Paris
AW: Offset Methode in einer Schleife
09.11.2020 13:41:51
Sascha
Hallo ,
vielen Dank für die schnellen Rückmeldungen.
@Luschi
Ich kann die Datei leider so nicht hochladen, da es firmenbezogene Daten beinhaltet. Ich habe aber deine Zeilenverbesserung mit eingebaut. So funktioniert es jetzt erstmal.
Anzeige
AW: Offset Methode in einer Schleife
09.11.2020 11:05:40
volti
Hallo Sascha,
hier eine Idee, wie Du das machen könntest.
Da Du nur Werte kopieren möchtest, kannst Du die auch direkt übernehmen (ohne Kopieren).
Außerdem sind Activate und Select meistens nicht notwendig.
Teste mal den nachfolgenden Code:
Code:
[Cc]

Sub Test() 'Werte kopieren Dim Obj As Object, iZeile As Long For Each Obj In Worksheets("Blatt1").Range("G27:G32") If LCase$(Obj.Value) = "x" Then With Worksheets("Blatt2") iZeile = .Cells(Rows.Count, 1).End(xlUp).Row + 1 .Cells(iZeile, "A").Value = "Wert" .Cells(iZeile, "B").Value = Obj.Offset(0, -5).Value End With End If Next Obj End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige