Link27park Geschrieben 16. Juni 2010 Geschrieben 16. Juni 2010 Hey=) Ich habe als Beginn mal ein seeeehr einfaches VBA Makro erstellt, doch es will nicht laufen. Was ist hier falsch? Public Sub Tutorial_02() Dim counter1 As Integer counter1 = 0 LetzteZeile = ActiveSheet.Range("A34").End(x1Up).Row For i = 1 To LetzteZeile If ActiveSheet.Range() = "Samstag" Then counter 1 End If Exit For Next i MsgBox counter1 End Sub Zitieren
Klotzkopp Geschrieben 16. Juni 2010 Geschrieben 16. Juni 2010 Zunächst mal: "Funktioniert nicht" oder "will nicht laufen" ist keine ausreichende Fehlerbeschreibung. Bekommst du eine Fehlermeldung? Falls ja, welche? Falls nein: Wie genau unterscheidet sich das beabsichtigte Verhalten vom beobachteten? Zum Problem: Was meinst du denn, was counter 1tut? Zitieren
Link27park Geschrieben 16. Juni 2010 Autor Geschrieben 16. Juni 2010 Also bei der Fehlermeldung steht genau das: Fehler beim Kompilieren: Sub, Funtion oder Property erwartet. Und counter1 soll imer hochgezählt werden falls eben Samstag in der Tabelle steht. Ich schreiber also counter +1 und er macht daraus immer counter 1. Also denke ich mir das müsste schon stimmen oder ? Zitieren
Klotzkopp Geschrieben 16. Juni 2010 Geschrieben 16. Juni 2010 Ich schreiber also counter +1 und er macht daraus immer counter 1. counter +1 ermittelt den Wert dieses Ausdrucks, er ändert aber nicht die Variable counter. Du musst das Ergebnis dieser Berechnung counter wieder zuweisen, wenn du die Variable ändern willst: [COLOR="Red"]counter =[/COLOR] counter+1 Zitieren
Link27park Geschrieben 16. Juni 2010 Autor Geschrieben 16. Juni 2010 Ok danke dieses Problem wäre gelöst;) Jetzt kommt noch eine weitere fehlermeldung: Fehler beim Kompilieren Variable ist nicht definiert Und dazu wird das "x1Up" markiert Zitieren
Klotzkopp Geschrieben 16. Juni 2010 Geschrieben 16. Juni 2010 Variable ist nicht definiert Und dazu wird das "x1Up" markiert Das heißt, dass die Variable x1Up nicht definiert ist. Was meinst du denn mit x1Up? Soll das überhaupt ein Variablenname sein? Zitieren
Link27park Geschrieben 16. Juni 2010 Autor Geschrieben 16. Juni 2010 Keine Ahnung was dieses X1Up macht...verstehe ich auch nicht! Habe diese zeile nur kopiert. Aber alles was ich will ist dass jede Zeile in der A- Spalte bis 34 durchgeschaut wird und jedesmal wenn "Samstag" ist dann eben der counter +1 gemacht wird und zum schluss der counter in einer MessageBox ausgegebn wird Zitieren
MartinSt Geschrieben 16. Juni 2010 Geschrieben 16. Juni 2010 na dann suche doch explizit bis zeile 34 Zitieren
Reinhold Geschrieben 17. Juni 2010 Geschrieben 17. Juni 2010 Moin, Keine Ahnung was dieses X1Up macht...verstehe ich auch nicht! Habe diese zeile nur kopiert. man sollte eben schon versuchen zu verstehen was man da abgeschrieben hat. *kopfschüttelnd* Aber alles was ich will ist dass jede Zeile in der A- Spalte bis 34 durchgeschaut wird und jedesmal wenn "Samstag" ist dann eben der counter +1 gemacht wird und zum schluss der counter in einer MessageBox ausgegebn wird Dazu brauchst du kein Makro, dafür gibt es die Funktion Zählenwenn. hth Reinhold BTW: hth=AKF Zitieren
Link27park Geschrieben 17. Juni 2010 Autor Geschrieben 17. Juni 2010 Moin, Dazu brauchst du kein Makro, dafür gibt es die Funktion Zählenwenn. BTW: hth=AKF Ja das schon...Es ist aber vorgeschrieben dass ich ein Makro schreiben soll Zitieren
Reinhold Geschrieben 17. Juni 2010 Geschrieben 17. Juni 2010 Wer hindert dich an MsgBox Excel.WorksheetFunction.CountIf(Columns(1), "Samstag") hth Reinhold (der nachweislich nicht die geringste Ahnung von Excel-Makros hat) Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.