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

Makro,Zählen klappt der Rest nicht

Forumthread: Makro,Zählen klappt der Rest nicht

Makro,Zählen klappt der Rest nicht
18.10.2005 11:41:16
achim
Was mach eich falsch?
Das Makro zählt richtigerweise die Anzahl der Einträge in A.
Nur bei AutoFill ist irgenwie der Wurm drin!!

Sub Test2()
Sheets("Gruppen").Activate
Set ziel = Workbooks("DienstplanMaster.xls").Sheets("Gruppen")
Lrow = ziel.Cells(Rows.Count, 4).End(xlUp).Row
anzd = WorksheetFunction.CountA(ziel.Range("A" & Lrow))
Range("I1").Select
ActiveCell.FormulaR1C1 = "."
ce = ActiveCell.Row
Selection.AutoFill Destination:=Range("I1:" & ce & anzd), Type:=xlFillDefault
End Sub

Danke Gruß achim h.
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro,Zählen klappt der Rest nicht
18.10.2005 11:54:09
Erich
Hallo Achim,
wahrscheinlich meinst du
Selection.AutoFill Destination:=Range("I1:" & (ce + anzd)), Type:=xlFillDefault
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Makro,Zählen klappt der Rest nicht
18.10.2005 12:04:29
achim
Hallo Erich
Ich bekomme immer die Meldung
Die Methode für das Objekt_Global ist fehlgeschlagen.
Kann man das noch ändern?
Danke achim h.
Anzeige
AW: Makro,Zählen klappt der Rest nicht
18.10.2005 15:44:57
Erich
Hallo Achim,
sorry, mein Tipp war falsch! Lauffähig wäre es mit folgender Zeile gewesen:
Selection.AutoFill Destination:=Range("I1:I" & (ce + anzd)), Type:=xlFillDefault
Ich habe mir die Prozedur noch mal angesehen - und wenig verstanden. Meine Kommentare habe ich eingefügt:

Sub Test2k()
Sheets("Gruppen").Activate
Set ziel = Workbooks("DienstplanMaster.xls").Sheets("Gruppen")
' Gibt es zwei Blätter mit dem Namen "Gruppen" ?
'  (eines in der aktiven Mappe, eines in Dienstplan.Master.xls)
' geändert wird später nicht in ziel, sondern im aktiven Blatt
Lrow = ziel.Cells(Rows.Count, 4).End(xlUp).Row
'  Nummer der letzten in ziel-Spalte D belegten Zeile
anzd = WorksheetFunction.CountA(ziel.Range("A" & Lrow))
'  ist 1, wenn in ziel-Spalte A, Zeile Lrow etwas steht,
'      0 sonst
Range("I1").Select
ActiveCell.FormulaR1C1 = "."
ce = ActiveCell.Row     ' ist immer = 1, da I1 die aktive Zelle ist
Selection.AutoFill Destination:=Range("I1:I" & (ce + anzd)), Type:=xlFillDefault
' füllt die Bereiche I1 oder I1:I2
' Warum überhaupt AutoFill ?
End Sub

Probier doch mal die beiden folgenden Prozeduren aus, vielleicht tun die auch das, was du erreichen willst:

Sub Test3()
Dim Lrow
Lrow = Cells(Rows.Count, 1).End(xlUp).Row
If Not IsEmpty(Cells(Lrow, 1)) Then Lrow = Lrow + 1
Sheets("Gruppen").Activate
Range("I1:I" & Lrow) = "."
End Sub

Test3 geht davon aus, dass alles auf einem einzigen Blatt "Gruppen" passiert. Wenn es bei dir um zwei Mappen mit jeweils einem Blatt "Gruppen" geht, sollte Test4 funktionieren:

Sub Test4()
Dim Lrow, ziel As Worksheet
Set ziel = Workbooks("DienstplanMaster.xls").Sheets("Gruppen")
Lrow = ziel.Cells(Rows.Count, 1).End(xlUp).Row
If Not IsEmpty(ziel.Cells(Lrow, 1)) Then Lrow = Lrow + 1
Sheets("Gruppen").Activate
Range("I1:I" & Lrow) = "."
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: o.T.
19.10.2005 09:27:29
achim
Hallo Erich
Test3 war die richtige:-)
Danke für die sehr ausführliche Rückmeldung mit den verschiedenen Varianten.
Super Hilfe!!! Danke
Grüße aus dem Ruhrgebiet
Achim H.
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige