Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
400to404
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
400to404
400to404
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Per Makro bei einem best. Wert leere Zeile einf. ?

Per Makro bei einem best. Wert leere Zeile einf. ?
ralle
Hallo zusammen,
Habe folgendes Problem:
In der Spalte A stehen Zahlen von 1000 - 3000 und in den Zeilen 1 - 10 steht entweder ein Text oder gar nichts. Möchte nun per Makro eine leere ZEILE (nicht Zelle) einfügen lassen, sobald in der Spalte A entweder der Wert 1400, 1570, 2110 oder 2120 vorkommt.
Habe von Thorsten folgenden Lösungsvorschlag:
Sub ZeileEinfuegen() Dim Zeile As Integer Zeile = 1 Do Until Range("A" & Zeile).Value = "" If Range("A" & Zeile).Value = 20 Or Range("A" & Zeile).Value = 50 Or Range("A" & Zeile).Value = 80 Or Range("A" & Zeile).Value = 300 Then Range("A" & Zeile).Select Selection.Insert Shift:=xlDown Zeile = Zeile + 1 End If Zeile = Zeile + 1 Loop End Sub
Dies funktioniert auch soweit, da aber in den ersten Zeilen wie gesagt ein Text steht oder gar nichts bricht das Makro vorzeitig ab. Zudem wird nicht nur eine neue Zeile eingefügt sonder nur eine neue Zelle. Lässt sich das irgendwie ändern?
Für Eure Hlfe Danke ich schon jetzt.
Gruß
ralle
AW: Per Makro bei einem best. Wert leere Zeile einf. ?
Nepumuk
Hallo ralle,
da du nicht schreibst, ob oberhalb oder unterhalb, gehe ich mal von oberhalb aus:

Option Explicit
Public Sub Zeile_einfuegen()
Dim lngZeile As Long
For lngZeile = Cells(65536, 1).End(xlUp).Row To 1 Step -1
If Cells(lngZeile, 1) = 1400 Or Cells(lngZeile, 1) = 1570 Or Cells(lngZeile, 1) = 2110 Or Cells(lngZeile, 1) = 2120 Then Rows(lngZeile).Insert shift:=xlShiftDown
Next
End Sub


Gruß
Nepumuk
Anzeige
AW: Per Makro bei einem best. Wert leere Zeile einf. ?
ralle
Hallo Nepumuk,
hat super funktioniert. Möchte das Makro noch ein wenig verfeinern und zwar soll sobald in der Spalte A die Zahlen 1400; 1570; 2110 und 2120 auftachen oberhalb eine leere Zeile eingefügt werden und die Zahlen 1400; 1570 etc. und alles was rechts daneben steht in Fett formatiert werden.
Kannst Du mir auch da helfen ? Wäre echt nett von Dir.
Gruß
ralle
AW: Per Makro bei einem best. Wert leere Zeile einf. ?
Nepumuk
Hallo ralle,
wenn das alles ist, dann so:

Option Explicit
Public Sub Zeile_einfuegen()
Dim lngZeile As Long
Application.ScreenUpdating = False
For lngZeile = Cells(65536, 1).End(xlUp).Row To 1 Step -1
If Cells(lngZeile, 1) = 1400 Or Cells(lngZeile, 1) = 1570 Or Cells(lngZeile, 1) = 2110 Or Cells(lngZeile, 1) = 2120 Then
With Rows(lngZeile)
.Insert shift:=xlShiftDown
.Font.Bold = True
End With
End If
Next
Application.ScreenUpdating = True
End Sub


Gruß
Nepumuk
Anzeige
AW: Per Makro bei einem best. Wert leere Zeile einf. ?
ralle
Hallo nepumuk,
scheinst Dich ja gut auszukennen! Dann habe ich da noch eine Frage:
Habe im Datenbereich I1:K1 eine Formel hinterlegt, diese soll per Makro sobald in der Spalte die Zahl zwischen 1000 bis 1400, bzw. die Zahl 2150, 2300, 2900, 3000 in die Spalte I bis K in der entsprechenden Zeile der Zahl kopiert werden.
Wie funktioniert soetwas ?
Gruß
ralle
AW: Per Makro bei einem best. Wert leere Zeile einf. ?
Nepumuk
Hallo ralle,
so:

Option Explicit
Public Sub Formel_kopieren()
Dim lngZeile As Long
Application.ScreenUpdating = False
For lngZeile = 1 To Cells(65536, 1).End(xlUp).Row
If Cells(lngZeile, 1) >= 1000 And Cells(lngZeile, 1) <= 1400 Or Cells(lngZeile, 1) = 2150 Or Cells(lngZeile, 1) = 2300 Or Cells(lngZeile, 1) = 2900 Or Cells(lngZeile, 1) = 3000 Then Range(Cells(lngZeile, 9), Cells(lngZeile, 11)) = Range(Cells(1, 9), Cells(1, 11)).FormulaR1C1Local
Next
Application.ScreenUpdating = True
End Sub


Gruß
Nepumuk
Anzeige
AW: Per Makro bei einem best. Wert leere Zeile einf. ?
ralle
Hallo nepumuk,
funktioniert nicht, ist aber mein Fehler.
In den Zellen I1:K1 ist keine Formel hinterlegt sondern eine bedingte Fomatierung!
Geht das trotzdem, dass die bedingte Formatierung in die bestimmten Zellen übertragen wird ?
Guß
ralle
AW: Per Makro bei einem best. Wert leere Zeile einf. ?
Nepumuk
Hallo ralle,
klar, so:

Option Explicit
Public Sub Formel_kopieren()
Dim lngZeile As Long
Application.ScreenUpdating = False
Range(Cells(1, 9), Cells(1, 11)).Copy
For lngZeile = 1 To Cells(65536, 1).End(xlUp).Row
If Cells(lngZeile, 1) >= 1000 And Cells(lngZeile, 1) <= 1400 Or Cells(lngZeile, 1) = 2150 Or Cells(lngZeile, 1) = 2300 Or Cells(lngZeile, 1) = 2900 Or Cells(lngZeile, 1) = 3000 Then Range(Cells(lngZeile, 9), Cells(lngZeile, 11)).PasteSpecial xlPasteFormats
Next
With Application
.CutCopyMode = False
.ScreenUpdating = True
End With
End Sub


Gruß
Nepumuk
Anzeige
AW: Per Makro bei einem best. Wert leere Zeile einf. ?
ralle
Hallo nepumuk,
einfach phantastisch !!!!
Vielen Dank für Deine Hilfe.
Gruß
ralle
AW: Per Makro bei einem best. Wert leere Zeile einf. ?
ralle
Nochmals Hallo,
kurze Frage noch:
Wie muss ich die Befehle ändern (Im Makro) wenn die Formel in den Zellen I2:K2 stehen ?
Gruß
ralle
AW: Per Makro bei einem best. Wert leere Zeile einf. ?
Nepumuk
Hallo ralle,
einfach so:
Range(Cells(2, 9), Cells(2, 11)).Copy
Gruß
Nepumuk
Danke für die Hilfe (o.Text)
22.03.2004 14:18:10
ralle
Danke !!!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige