In drei nacheinander folgenden Zeilen soll die gleiche Zahl stehen. z.B. 1;1;1 - 2;2;2 - 3;3;3 - 4;4;4 u.s.w.
Wie kann ich dieses Problem lösen, ohne manuelle Eingabe.
Vielen Dank im Voraus.
das ließe sich mit einem Makro machen. In welche Spalte soll die Nummer und in welcher Spalte stehen mit Sicherheit Werte (für die Abbruchbedingung)?
Gruß
Peter
wenn ich annehme, dass in Spalte A 6000 Werte stehen und die Numeriering in Spalte 2 = B stehen soll, könnte Dein Makro so aussehen:
Option Explicit
Sub LaufendeNummer()
' In meiner Excel-Datei mit ca. 6000 Zeilen möchte ich eine laufende Numerierung eingeben.
' In drei nacheinander folgenden Zeilen soll die gleiche Zahl stehen. z.B.
' 1;1;1 - 2;2;2 - 3;3;3 - 4;4;4 u.s.w.
' Wie kann ich dieses Problem lösen, ohne manuelle Eingabe.
' Vielen Dank im Voraus.
'
Dim lngLfdNr As Long
Dim lngIndx As Long
Dim intZaehler As Integer
lngLfdNr = 1
For lngIndx = 1 To Range("a65536").End(xlUp).Row Step 3
Cells(lngIndx + 0, 2).Value = lngLfdNr & ";" & lngLfdNr & ";" & lngLfdNr
Cells(lngIndx + 1, 2).Value = lngLfdNr & ";" & lngLfdNr & ";" & lngLfdNr
Cells(lngIndx + 2, 2).Value = lngLfdNr & ";" & lngLfdNr & ";" & lngLfdNr
lngLfdNr = lngLfdNr + 1
Next lngIndx
'
End Sub
also in Spalte B stehen deine 6000 Werte, in A = Spalte 1 sollen die lfd Nr stehen.
Dann sollte es so laufen.
Sub LaufendeNummer()
' In meiner Excel-Datei mit ca. 6000 Zeilen möchte ich eine laufende Numerierung eingeben.
' In drei nacheinander folgenden Zeilen soll die gleiche Zahl stehen. z.B.
' 1;1;1 - 2;2;2 - 3;3;3 - 4;4;4 u.s.w.
' Wie kann ich dieses Problem lösen, ohne manuelle Eingabe.
' Vielen Dank im Voraus.
'
Dim lngLfdNr As Long
Dim lngIndx As Long
lngLfdNr = 1
For lngIndx = 1 To Range("b65536").End(xlUp).Row Step 3
Cells(lngIndx + 0, 1).Value = lngLfdNr & ";" & lngLfdNr & ";" & lngLfdNr
Cells(lngIndx + 1, 1).Value = lngLfdNr & ";" & lngLfdNr & ";" & lngLfdNr
Cells(lngIndx + 2, 1).Value = lngLfdNr & ";" & lngLfdNr & ";" & lngLfdNr
lngLfdNr = lngLfdNr + 1
Next lngIndx
'
End Sub
Immer vorausgesetzt, ich habe Deine Aufgabenstellung richtig verstanden.
Gruß, Peter
dann nimm diesen Code:
Gruß
Peter
dann ist B2 bei Dir leer. Irgendwie muss die Abbruchbedingung definiert werden und die ist festgelegt mache bis B leer ist. Daher auch die Frage, in welcher Spalte immer ein Eintrag vorhanden ist.
Ändere die Zeile
If IsEmpty(Cells(intRow, 2)) Then Exit Sub
in
If IsEmpty(Cells(intRow, XX)) Then Exit Sub
wobei XX für die Spaltennummer steht, in der ein Eintrag vorhanden ist.
Gruß
Peter
Feld A1 = "1"
Feld A2 = "=A1"
Feld A3 = "=A1"
Dann einfach A1:A3 markieren und Formeln soweit herunter-
ziehen wie benötigt
Bye
Andreas
ich bin gerade erst wieder zurückgekommen. Hast Du die Nummerierung deiner Tabellendaten hinbekommen?
Ich hatte mir schon gedacht, dass 1;1;1 usw. nicht Dein Ziel sein konnte, aber ich war mir nicht sicher.
Wenn Du die Befehle Cells... folgendermaßen änderst, bekommst Du dein gewünschtes Ergebnis.
Cells(lngIndx + 0, 1).Value = lngLfdNr
Cells(lngIndx + 1, 1).Value = lngLfdNr
Cells(lngIndx + 2, 1).Value = lngLfdNr
Es kann allerdings sein, dass maximal zwei Spalten zuviel mit einer lfd Nr versehen werden, wenn die Anzahl Deiner Spalten nicht ohne Rest durch drei teilbar ist. Das kann man sicherlich auch noch programmtechnisch lösen, wenn man weiß, welche Spalte Deiner Tabelle immer komplett gefüllt ist, aber die überflüssigen beiden Zeilen lassen sich auch manuell schnell löschen.
Gruß, Peter