Combobox Problem

07/01/2008 - 10:29 von Tom Peters | Report spam
Moin zusammen,

ich habe ein Makro geschrieben, mit welchem ich bestimmte bookmarks ersetzen
kann.Es geht hier um Adressen die ausgetauscht werden sollen.Nun wollte ich
dieses Makro mit einer Combobox verbinden, so dass man nur noch die Adresse
in der Combobox auswàhlt und dann die bookmarks geàndert werden.Hier liegt
das Problem.Ich bekomme es einfach nicht hin, dass das erste Makro
ausgeführt wird.

Hier der Code vom ersten Makro:

Public Sub AdressenMain()
frmAdressen.Show
End Sub

Public Sub AdresseWechseln()
Select Case cboAdressen.Value
Case 0
'bookmarks mit text ersetzen
UpdateBookmark "strasse", "xxxx"
UpdateBookmark "ort", "D-33615 Bielefeld"
UpdateBookmark "tel", "xxx"
UpdateBookmark "fax", "xxx"
UpdateBookmark "absender", "xxx"
Case 1
Case 2
Case 3
Case 4
Case 5
Case 6
Case 7
Case 8
Case 9

End Sub

'alle bookmarks ersetzen und bookmark neu einrichten
Sub UpdateBookmark(BookmarkToUpdate As String, TextToUse As String)
Dim BMRange As Range
Set BMRange = ActiveDocument.Bookmarks(BookmarkToUpdate).Range
BMRange.Text = TextToUse
ActiveDocument.Bookmarks.Add BookmarkToUpdate, BMRange
End Sub


Hier der Code von meiner Combobox:

Private Sub cmdOK_Click()
AdresseWechseln (cboAdressen.Value)
End Sub

Private Sub cmdAbbrechen_Click()
Unload frmAdressen
End Sub

Private Sub UserForm_Initialize()

cboAdressen.AddItem "Bielefeld"
cboAdressen.AddItem "Düsseldorf"
cboAdressen.AddItem "Essen"
cboAdressen.AddItem "Frankfurt"
cboAdressen.AddItem "Köln"
cboAdressen.AddItem "Mönchengladbach"
cboAdressen.AddItem "Recklinghausen"
cboAdressen.AddItem "Soest"
cboAdressen.AddItem "Witten"
cboAdressen.AddItem "Wuppertal"

End Sub


Wo liegt mein Denkfehler?Wenn ich das Makro starte kommt die Meldung
"Falsche Anzahl an Argumenten..."

Ich bin leider nicht so ganz fit in vba und kann mit der Meldung nichts
anfangen, auch die Hilfe bringt mich da nicht weiter.

Grüße

Tom Peters
 

Lesen sie die antworten

#1 Thomas Gahler
07/01/2008 - 10:52 | Warnen spam
Hallo Tom


Wo liegt mein Denkfehler?Wenn ich das Makro starte kommt die Meldung
"Falsche Anzahl an Argumenten..."


Dein Problem liegt dort, dass du beim Aufruf der Prozedur ein Argument
übergibst, das du gar nicht definiert hast.


Du musst deinen Code so anpassen (Anpassungen sind nicht geprüft)

Public Sub AdresseWechseln()
Select Case cboAdressen.Value



Public Sub AdresseWechseln(byval intComboboxNummer as integer)
Select Case intComboboxNummer



Private Sub cmdOK_Click()
AdresseWechseln (cboAdressen.Value)



Private Sub cmdOK_Click()
AdresseWechseln (cboAdressen.Listindex)




Alles klar?


Thomas Gahler
MVP für WordVBA
Co-Autor von »Microsoft Word-Programmierung.
Das Handbuch« (MS Press)


- Windows XP (SP2), Office XP (SP3)

Ähnliche fragen