Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1340to1344
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

Zeile per Makro einfügen

Zeile per Makro einfügen
09.12.2013 22:37:26
Alex
Hallo, ich bräuchte mal eure Hilfe. Ich will in meiner Tabelle per Makro ganze zeilen vor den grün gefärbten zellen einfügen. die tabelle muss nämlich minütlich fortlaufen.
bekomme leider von einem programm nicht jede minute eine messung.
am besten wäre es auch wenn die zeit in der eingefügten zeile eingetragen wird und die messung von der vorherigen zeit.
hier ist die tabelle: https://www.herber.de/bbs/user/88459.jpg
z.B. ich markiere die zelle B4, zwischen dieser und der zelle davor fehlt eine minute.
ich führe das makro aus und es wird über der zeile 4 eine neue eingefügt mit der zeit 00:03:00 und es werden die vorlauf- und rücklaufdaten von der zelle d4 und f4 übernommen.
hoffe das geht auch was ich mir da vorstelle.
wäre echt dankbar für eure hilfe
Gruß Alex

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

Betreff
Datum
Anwender
Anzeige
wenn Du wirklich immer markieren willst ...
09.12.2013 23:38:00
Matthias
Hallo Alex
... kannst Du es so machen
Rows(ActiveCell.Row).Insert Shift:=xlDown

So wird über der aktiven Zelle eine Zeile eingefügt.
Komplett könnte das so aussehen, hier aber (ohne Fehlerbehandlung!)
 Rows(ActiveCell.Row).Insert Shift:=xlDown
Cells(ActiveCell.Row, 1) = Cells(ActiveCell.Row, 1).Offset(1, 0)
Cells(ActiveCell.Row, 2) = Cells(ActiveCell.Row, 2).Offset(1, 0) - TimeSerial(0, 1, 0)
Cells(ActiveCell.Row, 4) = Cells(ActiveCell.Row, 4).Offset(1, 0)
Cells(ActiveCell.Row, 5) = Cells(ActiveCell.Row, 5).Offset(1, 0)
Aber ich glaube eine Schleife wäre da besser, die das alles in einem Rutsch erledigt
Teste das jetzt erst mal.
https://www.herber.de/bbs/user/88460.xls
Wenn Du das verstanden hast, schaffst Du den Rest vielleicht auch selbst.
Sonst melde Dich einfach nochmal.
Gruß Matthias

Anzeige
AW: wenn Du wirklich immer markieren willst ...
10.12.2013 17:23:15
Alex
danke habe das jetzt so gelöst nur gibts bei mir manchmal trotzdem probleme.
es wird manchmal wilkürrlich eine zeile eingefügt, auch wenn der zeitunterschied nur eine minute beträgt
Bei F2 habe ich 00:01:00 stehen
Sub Makro1()
If ActiveCell > ActiveCell.Offset(-1, 0) + Range("$F$2") Then
Rows(ActiveCell.Row).Insert Shift:=xlDown
Cells(ActiveCell.Row, 1) = Cells(ActiveCell.Row, 1).Offset(1, 0)
Cells(ActiveCell.Row, 2) = Cells(ActiveCell.Row, 2).Offset(1, 0) - TimeSerial(0, 1, 0)
Cells(ActiveCell.Row, 4) = Cells(ActiveCell.Row, 4).Offset(1, 0)
Cells(ActiveCell.Row, 5) = Cells(ActiveCell.Row, 5).Offset(1, 0)
ActiveCell.Offset(2, 0).Select
Else
ActiveCell.Offset(1, 0).Select
End If
End Sub

Anzeige
Nimm -> If ActiveCell.Row > 2 Then ... wieder rein
10.12.2013 23:13:10
Matthias
Hallo
Du solltest:

If ActiveCell.Row > 2 Then
'weiterer Code
End If

wieder mit einpflegen.
Das hatte ja schließlich auch einen Sinn!
Markiere B2 uns starte den Code, dann verstehst Du das bestimmt auch.
Warum bei Dir anscheinend willkürlich Zeilen eigefügt werden, dazu kann ich nichts schreiben.
Da müsste man den aktuellen Inhalt der Zellen vor der Ausführung des Code sehen,
Gruß Matthias

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige