Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1804to1808
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

leere Zeilen einfuegen

leere Zeilen einfuegen
10.01.2021 19:27:05
Claudia
Hallo,
ich habe mir einige Codes zusammengesucht um folgendes Problem zu loesen:
Text1
Text1
Text1
Totals Text 1
Total
Text2
Text2
Text2
Text2
Totals Text 2
Total
Jeweils nach Total sollen 3 leere Zeilen eingefuegt werden

Sub FindValue()
Dim c As Range
Dim firstAddress As String
Dim CurrentSheet As Object
With Worksheets(1).Range("A1:A500")
Set c = .Find("Total", LookIn:=xlValues, MatchCase:=True)
If Not c Is Nothing Then
firstAddress = c.Address
Do
ActiveCell.EntireRow.Insert
Set c = .FindNext(c)
Loop While Not c Is Nothing
End If
End With
End Sub

Value hat er gefunden (habs mit ersetzen statt row insert versucht). Allerdings nimmt er immer Zeile Totals und Total. Und das Einfuegen klappt nicht.
Irgendwelche Ideen?
Besten Dank.

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: leere Zeilen einfuegen
10.01.2021 19:36:30
Hajo_Zi
Rows(c.Row + 1 & ":" & c.Row + 3).EntireRow.Insert

AW: leere Zeilen einfuegen
10.01.2021 19:40:43
Claudia
Hallo Hajo,
So?
Sub FindValue()
Dim c As Range
Dim firstAddress As String
Dim CurrentSheet As Object
With Worksheets(1).Range("A1:A500")
Set c = .Find("Total", LookIn:=xlValues, MatchCase:=True)
If Not c Is Nothing Then
firstAddress = c.Address
Do
Rows(c.Row + 1 & ":" & c.Row + 3).EntireRow.Insert
Set c = .FindNext(c)
Loop While Not c Is Nothing
End If
End With
End Sub

In den Fall loescht er einfach alles was nach Totals kommt
Anzeige
AW: leere Zeilen einfuegen
10.01.2021 19:41:34
Hajo_Zi
Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.
Sollte die Datei verlinkt werden?
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten
http://www.ms-office-forum.de/forum/showthread.php?t=322895
ändern.
Bilder lade ich mir nicht runter, da Excel damit nichts anfangen kann.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.
Falls Link nicht ausgeführt wird:
1. Link kopieren
2. rechte Maustaste neues Fenter.
3. Umschaltstaste drücken und Klick auf den Link
4. STRG+ Link mit Maus aktivieren
Gruß Hajo
Anzeige
AW: leere Zeilen einfuegen
10.01.2021 19:53:19
Hajo_Zi
das kann ich nicht nachvollziehen. es werden die geforderten 3 Leerzeilen eingefügt.
Gruß Hajo
AW: leere Zeilen einfuegen
10.01.2021 20:04:08
Claudia
mmh fuer mich wird einfach alles nach "Total" geloesch/ mit leer ueberschrieben
AW: leere Zeilen einfuegen
10.01.2021 20:07:44
Hajo_Zi
Gut dann kann ich Dir nicht helfen, Du muzsst eine Sonderversion 2016 haben.
Viel Erfolg noch.
Ich bin dann raus.
Gruß Hajo
Anzeige
AW: leere Zeilen einfuegen
10.01.2021 20:05:54
GerdL
Moin Claudia,
du hattest das Argument Lookat nicht auf xlWhole gesetzt.
Sub Unit()
Dim X As Range, ct As Integer
Set X = Columns("A").Find("Total", lookat:=xlWhole, LookIn:=xlValues, MatchCase:=True)
If X Is Nothing Then Exit Sub
Set X = Range(X, Cells(Rows.Count, 1).End(xlUp)).ColumnDifferences(X)
For ct = X.Areas.Count To 1 Step -1
X.Areas(ct).Cells(1).Resize(3).EntireRow.Insert
Next
End Sub

Gruß Gerd
AW: leere Zeilen einfuegen
10.01.2021 20:07:11
Claudia
Perfect, jetzt passe es. Besten Dank
AW: leere Zeilen einfuegen
11.01.2021 21:18:56
Claudia
Also das Makro an sich funktioniert, wenn die Schleife mehrfach laeuft und stoppt nach dem letzten Total.
Wenn ich allerdings nur ein Total habe, dann stoppt es mit Runtime Error 1004: No cells were found.
Sub emptyLines()
'adding empty lines
Dim X As Range, ct As Integer
Set X = Columns("A").Find("Total", lookat:=xlWhole, LookIn:=xlValues, MatchCase:=True)
If X Is Nothing Then Exit Sub
Set X = Range(X, Cells(Rows.Count, 1).End(xlUp)).ColumnDifferences(X)
For ct = X.Areas.Count To 1 Step -1
X.Areas(ct).Cells(1).Resize(3).EntireRow.Insert
Next
End Sub

Anzeige
AW: leere Zeilen einfuegen
12.01.2021 09:46:08
Werner
Hallo,
Public Sub Leerzeilen()
Dim i As Long, raZeilen As Range
Application.ScreenUpdating = False
With Worksheets("Tabelle1")
For i = .Cells(.Rows.Count, "A").End(xlUp).Row To 2 Step -1
If .Cells(i, "A") = "Total" Then
If raZeilen Is Nothing Then
Set raZeilen = .Cells(i, "A").Offset(1).Resize(3)
Else
Set raZeilen = Union(raZeilen, .Cells(i, "A").Offset(1).Resize(3))
End If
End If
Next i
End With
If Not raZeilen Is Nothing Then
raZeilen.EntireRow.Insert
End If
Set raZeilen = Nothing
End Sub
Gruß Werner
Jetzt funktioniert nicht nur der Code nicht...
14.01.2021 09:07:01
Werner
Hallo,
...sondern die Tastatur scheint auch nicht mehr zu funktionieren.
Oder weshalb gibt es kein Feedback, trotz zweier Antowrten?
Helfen macht Freude, besonders in solchen Fällen.
Gruß Werner
Anzeige
AW: Jetzt funktioniert nicht nur der Code nicht...
14.01.2021 12:32:27
Claudia
Hallo Werner,
sorry fuers nicht antworten. (Hatte die Antwort getippt und dann kam das Leben dazwischen) Sorry nochmal.
Der Code funktionert jetzt und ich hab ihn auf meine richtige Datei angepasst bekommen.
AW: leere Zeilen einfuegen
12.01.2021 21:07:25
GerdL
Moin Claudia!
Sub Unit()
Const strText As String = "Total"
Dim X As Range, ct As Integer
Set X = Columns("A").Find(strText, lookat:=xlWhole, LookIn:=xlValues, MatchCase:=True)
If X Is Nothing Then Exit Sub
If WorksheetFunction.CountIf(Columns("A"), strText) = 1 Then
X.Offset(1, 0).Resize(3).EntireRow.Insert
Else
Set X = Range(X, Cells(Rows.Count, 1).End(xlUp)).ColumnDifferences(X)
For ct = X.Areas.Count To 1 Step -1
X.Areas(ct).Cells(1).Resize(3).EntireRow.Insert
Next
End If
End Sub

Gruß Gerd
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige