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

Makro stoppen beim Erreichen leerer Zelle

Makro stoppen beim Erreichen leerer Zelle
Mike
Hi,
ich habe eine Tabelle, in die ich verschiedene Formeln via Makro kopiere -
der jeweile Teil des Codes ist dabei immer wie folgt aufgebaut, nur mit jeweils unterschiedlichen Formeln:
With Range("K2:K" & Cells(Rows.Count, 2).End(xlUp).Row)
.FormulaLocal = "=IF(L2="""","""",IF((TODAY()-L2)=0,1,(TODAY()-L2)))"
.Formula = .Value
End With
Das Ganze funktioniert gut und macht die Datei schön klein, das Makro braucht dadurch allerdings sehr lange für die Berechnung (ca. 2-3 Min.).
Kennt Ihr einen Weg, wie man hier definieren kann, dass das Makro stoppt, die Formel nach unten zu kopieren, sobald eine leere Zelle in Spalte B erreicht ist (dies ist immer automatisch das Ende der Einträge, da diese vorher sortiert werden) ?
VG u. vielen Dank im Voraus,
Mike
AW: Makro stoppen beim Erreichen leerer Zelle
07.02.2011 23:34:46
Uduuh
Hallo,
With Range("B2:B" & Cells(Rows.Count, 2).End(xlUp).Row).OffSet(0,9)
Gruß aus’m Pott
Udo

AW: Makro stoppen beim Erreichen leerer Zelle
07.02.2011 23:54:30
Mike
Hallo Udo,
vielen Dank für den Tipp !
Muss ich Deinen Code dann komplett vor meinem einfügen ?
Spalte B bestimmt zwar, ob eine Zeile leer ist oder nicht, die Einträge hier erfolgen aber in Spalte K.
VG,
Mike
AW: Makro stoppen beim Erreichen leerer Zelle
08.02.2011 08:45:10
Rudi
Hallo,
du musst deine Zeile
With Range("K2:K" & Cells(Rows.Count, 2).End(xlUp).Row)
durch Udos ersetzen.
Gruß
Rudi
AW: Makro stoppen beim Erreichen leerer Zelle
08.02.2011 08:59:17
Mike
Danke, Rudi !
Das kann aber so nicht stimmen, da mein Code enthält, dass diese Formel auf Spalte K angewendet wird, Udo's Code dagegen hat an dieser Stelle "B2:B" statt "K2:K" stehen.
Wenn ich das nur ersetze, wird die Formel doch auf Spalte B und nicht mehr auf Spalte K angewendet oder ?
(Wie schon gesagt, die Berechnung erfolgt hier in Spalte K, Spalte B gibt nur an, ob eine Berechnung überhaupt notwendig ist.)
Kannst Du mir nochmal helfen ?
VG,
Mike
Anzeige
AW: Makro stoppen beim Erreichen leerer Zelle
08.02.2011 09:06:47
Rudi
Hallo,
achte auf .OffSet(0,9). Das ist 9 Spalten weiter rechts, also K. Es wird festgestellt, wie weit B gefüllt ist und die Formel in K eingetragen.
Warum probierst du das nicht einfach an einer Kopie aus?
Gruß
Rudi
AW: Makro stoppen beim Erreichen leerer Zelle
08.02.2011 09:35:04
Mike
Hi Rudi,
vielen Dank an Euch beide - klappt bestens !
Sorry fürs Nachfragen, ich habe gerade erst angefangen, mich mit VBA auseinanderzusetzen...

Kann man sowas ähnliches auch für die folgende Teile meines Makros nutzen (das Makro braucht auch da immer sehr lange) ?

Sheets(4).Select
Columns("A:J").ClearContents
Sheets(3).Select
Columns("A:J").ClearContents
Sheets(2).Select
Columns("A:O").ClearContents
Sheets(1).Select
Columns("J:L").ClearContents
Columns("B:K").Select
Selection.Copy
Sheets(2).Select
Columns("A:J").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
VG und nochmals vielen Dank für alles,
Mike
Anzeige
AW: Makro stoppen beim Erreichen leerer Zelle
08.02.2011 10:01:07
Rudi
Hallo,
arbeite möglichst ohne Select und Activate.
Sheets(4).Columns("A:J").ClearContents
Sheets(3).Columns("A:J").ClearContents
Sheets(2).Columns("A:O").ClearContents
Sheets(1).Columns("J:L").ClearContents
Sheets(1).Columns("B:K").Copy
Sheets(2).Columns("A:J").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Gruß
Rudi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige