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

Forumthread: Leerzeilen finden

Leerzeilen finden
25.05.2005 12:00:53
Mikey
Hallo Excel-Freunde,
ich hab ein kleines Problem.
Ich habe eine Tabelle in der zwischen den neuen Material-Nr. immer 3 Leerzeilen sind. Jetzt möchte ich immer in der ersten Leerzeile nach einer Material-Nr. eine Formel einfügen.
Mein Problem ist nun, wie finde ich mit einem Makro immer die erste Leerzeile nach einer Material-Nr.? (siehe Datei)
https://www.herber.de/bbs/user/23199.xls
Wenn mehr als 3 Leerzeilen vorhanden sind sollte das Makro beendet werden.
Kann man da was machen?
Vielen Dank für eure Hilfe.
Gruß
Mikey
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Leerzeilen finden
25.05.2005 14:15:43
MichaV
Hi,
schreibe die Formel in eine Zelle. Dann gehe mit dem Cursor in die Spalte, in die die Formeln eingefügt werden sollen. Führe das Makro aus. Es kopiert die Formel aus der Zelle und fügt sie ab der Cursor- Pos in alle Leerzeilen unter den Blöcken ein, als ob Du es per Hand machen würdest.
Wenn mehr als 4 Leerzeilen, wird keine Formel eingetragen und beendet. Wenn Du doch noch eine Formel eintragen und dann beenden willst, vertausche die entsprechenden Zeilen.


      
Sub FormelEinfügen()
Dim Zelle As Range
On Error GoTo Ende
Set Zelle = Application.InputBox("In welcher Zelle steht die Formel?", "Frage", "D1", , , , , 8)
On Error GoTo 0
Zelle.Copy
Set Zelle = Selection
'Cursor muß am Anfang auf beschriebener Zelle stehen
If Zelle.Text = "" Then Set Zelle = Zelle.End(xlDown)
Do While 1 = 1 'unendliche Schleife
  Set Zelle = Zelle.End(xlDown) 'letzte beschriebene Zelle im Block
  'folgen 4 Leerzeilen? Wenn ja, dann Schleife beenden
  '(Achtung- Error, wenn wir uns hinter Zeile 65532 befinden!)
  If Zelle.Offset(1, 0).Text & Zelle.Offset(2, 0).Text & _
     Zelle.Offset(3, 0).Text & Zelle.Offset(4, 0).Text = "" 
Then Exit Do
  
'Formel einfügen
  Zelle.Offset(1, 0).PasteSpecial (xlPasteFormulas)
  
'wenn Leerzellen folgen, dann zu nächsten Eintrag
  If Zelle.Offset(2, 0).Text = "" Then Set Zelle = Zelle.Offset(1, 0).End(xlDown)
Loop
Ende:
Set Zelle = Nothing
Application.CutCopyMode = 
False
End Sub 
PS: Rückmeldung wäre nett.
Anzeige
Suuuper ;-))
25.05.2005 14:35:56
Mikey
Hallo Micha,
vielen Dank für Dein Bemühen, es funktioniert hervorragend.
Gruß
Mikey
Suuuper ;-)) Danke für Rückmeldung!
26.05.2005 08:45:29
MichaV
Gruss- Micha
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige