Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

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?

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 ?

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

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

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

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

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:

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 Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.