Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA - Code bearbeiten

Forumthread: VBA - Code bearbeiten

VBA - Code bearbeiten
14.10.2024 08:17:13
bustue
Hallo,
ich habe ein Arbeitsblatt, mit 1725 Zeilen. In der Spalte A sind jeweils Pos-Nr. und darunter 2 Leerzellen. Nun soll die Pos-Nr. herunterkopiert werden.
Mit dem M-Recorder habe ich folgendes aufenommen:
 Range("A2").Select

Selection.AutoFill Destination:=Range("A2:A4"), Type:=xlFillCopy
Range("A2:A4").Select
Range("A5").Select
Selection.AutoFill Destination:=Range("A5:A7"), Type:=xlFillCopy
Range("A5:A7").Select

Wie bekomme ich da eine Schleife rein, so das die ganze Spalte abgearbeitet wird.
Vielen Dank für Eure Hilfe
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Code bearbeiten
14.10.2024 08:26:49
schauan
Hallöchen,

um bei Deinem Ansatz zu bleiben, das Prinzip einer For - Schleife kennst Du? Der gibst Du eine Schrittweite mit und verwendest den Schleifenzähler für die Ranges.
For iCnt = 2 To 1725 Step 3 

Range("A" & iCnt).Select
Selection.AutoFill Destination:=Range("A" & iCnt & ":A" & iCnt+2), Type:=xlFillCopy
....
Anzeige
AW: VBA - Code bearbeiten
14.10.2024 09:39:41
GerdL
Hallo B.,
so?
Sub Unit()


Dim zeile As Long, nummer As Integer

For zeile = 2 To 1726 Step 3
nummer = nummer + 1
Cells(zeile, 1) = nummer
Next

End Sub


Gruß Gerd

Anzeige
AW: VBA - Code bearbeiten
14.10.2024 09:40:11
MCO
Moin!

Ist das einmalig? Kannst du keine Formel dafür einsetzen?

Markiere den Bereich, dann F5, Inhalte, Leerzellen
Formel =a2
Abschliessen mit STRG+ENTER

Gruß, MCO
AW: VBA - Code bearbeiten
14.10.2024 11:34:23
snb
Sub M_snb()

For Each it In Columns(1).SpecialCells(4).Areas
it.Value = it.Offset(-1).Resize(1)
Next
End Sub

Anzeige
AW: VBA - Code bearbeiten
14.10.2024 08:34:32
bustue
Hallo schauan,
vielen Dank für Deine schnelle Antwort, leider, kenne ich das Prinzip nicht.
AW: VBA - Code bearbeiten
14.10.2024 09:36:10
bustue
Hallöchen,
habe es jetzt hinbekommen.
'


Dim inct As Long

For iCnt = 2 To 1725 Step 3
Range("A" & iCnt).Select
Selection.AutoFill Destination:=Range("A" & iCnt & ":A" & iCnt + 2), Type:=xlFillCopy
Next iCnt

End Sub


vielen Dank


Anzeige
Noch ein
14.10.2024 18:43:24
Yal
eine Version ohne "Select":

Sub Ausfüllen()

Dim i As Long

For i = 2 To 1725 Step 3
With Cells(i, "A")
.AutoFill Destination:=.Resize(1, 3), Type:=xlFillCopy
End With
Next i
End Sub


Die Version von BoskoBiati als VBA:
Sub Ausfüllen()

With Range("A2:A1725")
.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
.Copy
.PasteSpecial Paste:=xlPasteValues
End With
Application.CutCopyMode = False
End Sub


Die Version von BoskoBiati, wie ich sie mit Tastenkombi durchführe:
- Strg + Ende,
- Strg + Pfeil nach Links, mehrmals bis Spalte A erreicht ist (egal "wieviel mal", da linker als Spalte A geht nicht)
- Shift + Strg + Pos1
- Strg + g,
- Alt + i
- Alt + r, Enter
- "=", Pfeil nach oben,
- Strg + Enter
- Strg + c
- Alt, r, v, w
Mit ein Bisschen Übung, ca. 5 Sekunden :-)

VG
Yal
Anzeige
AW: VBA - Code bearbeiten
14.10.2024 09:38:14
bustue
Hallo BoskoBiati2,

vielen Dank für Deine Antwort, Diesen Weg habe ich bisher noch nie gesehen. Habe ich gleich ausprobiert - und funktioniert
.
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige