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
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?
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 ?
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
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
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?
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
MartinSt Geschrieben 16. Juni 2010 Geschrieben 16. Juni 2010 na dann suche doch explizit bis zeile 34
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
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
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)
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden