Zum Inhalt springen

Warum funktioniert dieses Programm nicht?


Empfohlene Beiträge

Geschrieben

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

Geschrieben

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 1

tut?

Geschrieben

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 ?

Geschrieben
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

Geschrieben

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

Geschrieben

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?

Geschrieben

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

Geschrieben

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

Geschrieben
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 :rolleyes:

Geschrieben

Wer hindert dich an


MsgBox Excel.WorksheetFunction.CountIf(Columns(1), "Samstag")

hth

Reinhold (der nachweislich nicht die geringste Ahnung von Excel-Makros hat)

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...