Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema OptionButton
BildScreenshot zu OptionButton OptionButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ScrollBar
BildScreenshot zu ScrollBar ScrollBar-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema SpinButton
BildScreenshot zu SpinButton SpinButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Makro mit Button aufrufen | Herbers Excel-Forum


Betrifft: Makro mit Button aufrufen von: Joni
Geschrieben am: 17.11.2009 13:32:38

Hi,

ich möchte mit

Private Sub Buchungen_einfügen_Click()
Call Buchungen_einfügen
End Sub
das Makro Buchungen einfügen aufrufen (wenn auf den Button geklickt wird). Da kriege ich die Meldung Prozedur statt Variale erwartet.

Kann mir jemand helfen warum das nicht funktioniert?

Danke
Gruß Joni

  

Betrifft: AW: Makro mit Button aufrufen von: Björn B.
Geschrieben am: 17.11.2009 13:36:53

Hallo Joni,

Dein Makro des Buttons muss in der Tabelle stehen, in der sich der Button befindet.

Erwartet Deine Prozedur "Buchungen_einfügen" eine Variable?
Hast Du irgendwo eine Variable, dir so heißt?
Wo steht diese Prozedur?
Wie sieht sie aus?

Gruß
Björn


  

Betrifft: AW: Makro mit Button aufrufen von: Joni
Geschrieben am: 17.11.2009 13:52:53

Hi Björn,

das Makro des Buttons ist in dem entsprechenden Tabellenblatt.

Die Prozedur steht unter Modul in Modul2.
Alle Variablen sind in der Prozedur definiert.

Sub Buchungen_einfügen()

Dim SK As String 'Suchkriterium, Personennummer
Dim i As Variant 'Beginnzeile der Schleife beim Auslesen
Dim j As Variant 'Beginnzeile der Schleife beim Einfügen
Dim j1 As Variant 'Beginnzeile merken für später
Dim k As Variant 'Durchläufe zählen für Formel


j = 24
j1 = j

With Sheets("Kontoauszug")
    SK = Cells(2, 1)
End With

With Sheets("Buchungen")
    For i = 2 To 50000 Step 1
        If .Cells(i, 17) = SK Then 'Personennummer suchen
            If .Cells(i, 16) = 1 Then 'nur immer die erste Zeile verwenden
                If .Cells(i, 10) = "P" Then 'nur Buchungen von Personen berücksichtigen
                    Sheets("Kontoauszug").Cells(j, 1) = .Cells(i, 4) 'Datum Wert übernehmen
                    Sheets("Kontoauszug").Cells(j, 2) = .Cells(i, 15) 'Text Wert übernehmen
                    If .Cells(i, 7) = "S" Then
                        Sheets("Kontoauszug").Cells(j, 3) = .Cells(i, 11) 'Sollbetrag Wert ü _
bernehmen
                        Sheets("Kontoauszug").Cells(j, 4) = 0
                    Else
                        Sheets("Kontoauszug").Cells(j, 4) = .Cells(i, 11) 'Habenbetrag Wert ü _
bernehmen
                        Sheets("Kontoauszug").Cells(j, 3) = 0
                    End If
                    k = k + 1
                    If k = 1 Then Sheets("Kontoauszug").Cells(j, 5).FormulaR1C1 = "=RC[-1]-RC[- _
2]"
                    If k > 1 Then Sheets("Kontoauszug").Cells(j, 5).FormulaR1C1 = "=R[-1]C+RC[- _
1]-RC[-2]"
                    j = j + 1
                End If
            End If
        End If
        If .Cells(i, 1) = "" Then GoTo Ende
    Next
End With

Ende:

With Sheets("Kontoauszug")
    .Cells(j, 2) = "Summe"
    .Cells(j, 3).FormulaR1C1 = "=SUM(R[-" & (j - j1) & "]C:R[-1]C)"
    .Cells(j, 4).FormulaR1C1 = "=SUM(R[-" & (j - j1) & "]C:R[-1]C)"
    .Cells(j, 5).FormulaR1C1 = "=R[-1]C"
End With

With .Range(Cells(j, 1), Cells(j, 5))
    With .Borders(xlEdgeTop) 'Rahmen oben
        .LineStyle = xlContinuous 'einfacher Strich
        .Weight = xlThin 'dünner Strich
        .ColorIndex = xlAutomatic
    End With
    With .Borders(xlEdgeBottom) 'Rahmen unten
        .LineStyle = xlDouble 'dopppelter Strich
        .ColorIndex = xlAutomatic
    End With
End With

End Sub
Gruß Joni


  

Betrifft: Button und Makroname sind identisch von: NoNet
Geschrieben am: 17.11.2009 13:48:33

Hallo Joni,

offenbar sind die Namen des Buttons "Buchungen_einfügen" und der aufzurufende Makroname identisch ?
Benenne das Makro bitte um und ändere den Aufruf des Makros, dann sollte das funktionieren !

Gruß, NoNet


  

Betrifft: AW: Button und Makroname sind identisch von: Joni
Geschrieben am: 17.11.2009 13:56:06

Hi NoNet,

das wars. Ich hatte gedacht, dass das _Click() hinten dran schon als Unterschied ausreicht, war aber demnach nicht so.

Danke!

Gruß Joni


  

Betrifft: Danke... so ist das... von: Björn B.
Geschrieben am: 17.11.2009 13:57:23

... wenn man den Wald vor lauter Bäumen nicht mehr sieht.

Ich hab da wieder ein viel komplexeres Problem vermutet, aber manchmal sind es doch die einfachsten Dinge.
Danke NoNet.

Gruß
Björn B.


Beiträge aus den Excel-Beispielen zum Thema "Makro mit Button aufrufen"