Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.04.2024 20:05:21
28.04.2024 18:33:31
28.04.2024 18:25:12
Anzeige
Archiv - Navigation
1932to1936
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

Wenn bestimmte Teilennummer dann...

Wenn bestimmte Teilennummer dann...
06.06.2023 14:32:08
Jürgen

Hallo Excel-Forum,

bitte nicht lachen oder schimpfen wg, nicht genug Recherche, aber ich finde in diesem simplen Code meinen Fehler nicht.

For lngRow3 = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
If Cells(lngRow3) = 2 Then
Rows(lngRow3).Resize(2).Insert
Exit Sub
Else
End If

Wenn IngRow3 bei Zeilennummer 2 ist wird nicht nach Then weitergegangen sondern auch wieder nach Else.
Kann mir einer sagen was ich übersehe und falsch mache?

Vielen Dank im Voraus und Grüße
Jürgen

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wenn bestimmte Teilennummer dann...
06.06.2023 14:39:05
Rudi Maintaire
Hallo,
dir fehlt die Spaltenangabe bei
If Cells(lngRow3) = 2 Then

Wahrscheinlich
If Cells(lngRow3, 1) = 2 Then

Gruß
Rudi


AW: Wenn bestimmte Teilennummer dann...
06.06.2023 14:47:17
Jürgen
Hallo Rudi,

danke für deine schnelle Antwort. Ich habe mich, glaube ich, nicht richtig ausgedrückt.
IngRow3 zählt ja von der der letzten Zeile nach oben hoch. Zum Beispiel 20, 19, 18... bis 1.
Wenn IngRow3 bei der Zahl 2 ist dann soll das Makro bei Then weitergehen.

Es soll nicht in einer Spalte nach einem Wert gesucht werden.
Kannst du hierbei auch helfen?

Grüße Jürgen


Anzeige
AW: Wenn bestimmte Teilennummer dann...
06.06.2023 15:12:30
Rudi Maintaire
Hallo,
und was soll dann die Schleife? Warum fügst du nicht gleich oben 2 Zeilen ein?

If lngRow3=2 Then

Gruß
Rudi


AW: Wenn bestimmte Teilennummer dann...
06.06.2023 15:25:52
Jürgen
Das ist nur ein kleiner Auszug.
Das Makro ist etwas länger. Zuerst wird eine Liste unterteilt und mit Überschriften versehen.
Wenn das Makro aber Zeile 2 erreicht soll es sich etwas anders verhalten.
Hier der komplette Code-Auszug:

Dim lngRow3 As Long

For lngRow3 = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1

If Cells(lngRow3, 1) = 2 Then
Rows(lngRow3).Resize(2).Insert
.... hier geht es dann noch weiter
Exit Sub
Else
End If

If Left$(Cells(lngRow3, 6), 1) > Left$(Cells(lngRow3 - 1, 6), 1) Then
Rows(lngRow3).Resize(4).Insert
Rows(1).Copy Rows(lngRow3 + 3)
Rows(lngRow3 + 1 & ":" & lngRow3 + 4).Select
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
'Bereichsüberschrift anpassen
Range(Cells(lngRow3 + 3, 1), Cells(lngRow3 + 3, 8)).Select
Selection.ClearContents
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent2
.TintAndShade = 0.399975585192419
.PatternTintAndShade = 0
End With
Cells(lngRow3 + 6, 5).Copy
Cells(lngRow3 + 3, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End if
Next

Vielleicht wird es hierdurch etwas deutlicher.

Grüße Jürgen


Anzeige
AW: Wenn bestimmte Teilennummer dann...
06.06.2023 15:26:22
Jürgen
Das ist nur ein kleiner Auszug.
Das Makro ist etwas länger. Zuerst wird eine Liste unterteilt und mit Überschriften versehen.
Wenn das Makro aber Zeile 2 erreicht soll es sich etwas anders verhalten.
Hier der komplette Code-Auszug:

Dim lngRow3 As Long

For lngRow3 = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1

If Cells(lngRow3, 1) = 2 Then
Rows(lngRow3).Resize(2).Insert
.... hier geht es dann noch weiter
Exit Sub
Else
End If

If Left$(Cells(lngRow3, 6), 1) > Left$(Cells(lngRow3 - 1, 6), 1) Then
Rows(lngRow3).Resize(4).Insert
Rows(1).Copy Rows(lngRow3 + 3)
Rows(lngRow3 + 1 & ":" & lngRow3 + 4).Select
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
'Bereichsüberschrift anpassen
Range(Cells(lngRow3 + 3, 1), Cells(lngRow3 + 3, 8)).Select
Selection.ClearContents
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent2
.TintAndShade = 0.399975585192419
.PatternTintAndShade = 0
End With
Cells(lngRow3 + 6, 5).Copy
Cells(lngRow3 + 3, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End if
Next

Vielleicht wird es hierdurch etwas deutlicher.

Grüße Jürgen


Anzeige
AW: Wenn bestimmte Teilennummer dann...
06.06.2023 15:57:51
Daniel
"Wenn das Makro aber Zeile 2 erreicht soll es sich etwas anders verhalten."

naja, die Schleife geht doch nur bis 2.
Wenn sich das Makro bei Zeile 2 anders verhalten soll, dann lass die Schleife nur bis Zeile 3 laufen und programmiere dann die Bearbeitung der Zeile 2 seperat

For lngRow3 = Cells(Rows.Count, 1).End(xlUp).Row To 3 Step -1
   hier der Code für die Bearbeitung der Zeilen 3 bis x
Next
hier der Code für die Bearbeitung  der Zeile 2
Gruß Daniel

41 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige