Anzeige
Archiv - Navigation
680to684
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
680to684
680to684
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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.

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.
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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige