Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
968to972
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
968to972
968to972
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Nach jeder Zeile, 3 weitere Zeilen einfügen

Nach jeder Zeile, 3 weitere Zeilen einfügen
17.04.2008 10:32:00
Martin
Hallo Leute!
Ich hab folgendes Problem...
Ich bekomme Werte von einer Messstation die mir stundenweise Messpunkte liefert.
Meine Tabelle hat mittlerweile über 15.000 Zeilen mit diesen Messwerten.
Aufgrund einer Vorgabe ist es nun aber nötig diese Werte im Viertelstundentakt anzugeben.
Das bedeutet für mich, dass ich nach jeder Zeile, 3 weitere Zeilen einfügen muss um dort statt
15:00
16:00
17:00
18:00
19:00
sowas dastehen hab:
15:00
15:15
15:30
15:45
16:00
Die Zwischenwerte kann ich dann ganz einfach berechnen und per autokopieren ausfüllen.
Es geht mir also eigentlich nur um das Einfügen der 3 Zeilen nach jeder Zeile.
Wenns mit VBA geht wäre es mir am liebsten, aber auch jeder andere Lösungsvorschlag ist super. Ob das ganze langsam ist, ist auch nebensächlich.
Ich hoffe ihr könnt mir auch diesmal wieder helfen.
Danke im Vorraus und liebe Grüsse
Martin

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nach jeder Zeile, 3 weitere Zeilen einfügen
17.04.2008 10:51:24
Specke
Hallo Martin,
For i = Columns("A:A").End(xlDown).Row To 1 Step -1
Rows(i + 1 & ":" & i + 3).Insert xlDown
Next i
Gruß Dana

AW: Nach jeder Zeile, 3 weitere Zeilen einfügen
17.04.2008 10:54:00
Matthias
Hallo Martin,
teste mal dies:

Sub tt()
Const ersteZeile = 3 ' erste Zeile mit Zeitangaben (z.B. 3 bei Überschrift in Zeilen 1 u. 2)
Dim z As Long, i As Long
Dim dat As Date
z = Cells(Rows.Count, 1).End(xlUp).Row + 1
Application.ScreenUpdating = False ' damit geht's schneller du siehst aber nix
For i = z To ersteZeile + 1 Step -1
dat = Cells(z - 1, 1)
Cells(i, 1).EntireRow.Insert
Cells(i, 1).EntireRow.Insert
Cells(i, 1).EntireRow.Insert
Cells(i, 1) = Cells(i - 1, 1) + TimeValue("00:15")
Cells(i + 1, 1) = Cells(i - 1, 1) + TimeValue("00:30")
Cells(i + 2, 1) = Cells(i - 1, 1) + TimeValue("00:45")
Next i
Application.ScreenUpdating = True
End Sub


Gruß Matthias

Anzeige
AW: Nach jeder Zeile, 3 weitere Zeilen einfügen
17.04.2008 10:57:00
Renee
Hi Martin,
Du gibst Excel 2003 und über 15.000 Zeilen an!
Das könnte zu Problemen führen, denn wenn du jedesmal 3 Zeilen einfügst, ergibt dies eine Maximale jetzige Zeilenanzahl von 16384!!
Trotzdem, probier's mal:

Sub VerDreifachen()
Dim lx As Long
For lx = ActiveSheet.Range("A" & ActiveSheet.Rows.Count).End(xlUp).Row To 2 Step -1
ActiveSheet.Rows(lx + 1).Insert (xlShiftDown)
ActiveSheet.Cells(lx + 1, 1).Value = ActiveSheet.Cells(lx, 1).Value + 3 * (1 / 96)
ActiveSheet.Rows(lx + 1).Insert (xlShiftDown)
ActiveSheet.Cells(lx + 1, 1).Value = ActiveSheet.Cells(lx, 1).Value + 2 * (1 / 96)
ActiveSheet.Rows(lx + 1).Insert (xlShiftDown)
ActiveSheet.Cells(lx + 1, 1).Value = ActiveSheet.Cells(lx, 1).Value + (1 / 96)
Next lx
End Sub


GreetZ Renée

Anzeige
AW: Nach jeder Zeile, 3 weitere Zeilen einfügen
17.04.2008 11:09:00
UweD
Hallo
so dürfte es gehen

Sub tt()
    On Error GoTo Fehler
    Dim SP%, ZE&, LR&, TB1, i&
    Set TB1 = ActiveWorkbook.Sheets("Tabelle1")
    SP = 1 'Spalte A
    ZE = 2 'ab Zeile 2
    LR = TB1.Cells(Rows.Count, SP).End(xlUp).Row 'letzte Zeile der Spalte
    Application.ScreenUpdating = False
    For i = LR + 1 To ZE Step -1
        Rows(i & ":" & i + 2).Insert Shift:=xlDown
        TB1.Range(Cells(i, SP), Cells(i + 2, SP)).FormulaR1C1 = "=R[-1]C+""0:15"""
    Next
    With TB1.Columns(SP)
        .Copy
        .PasteSpecial Paste:=xlPasteValues
    End With
    Application.CutCopyMode = False
Fehler:
    If Err.Number <> 0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear
    Application.EnableEvents = True
    Application.DisplayAlerts = True
End Sub

Gruß
UD
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige