Supportnet / Forum / Tabellenkalkulation
VBA: ist Zeichen vohanden oder nicht....
Frage
Hallo,
ich möchte mit 2 Button in einer Userform ein "-" oder ein "+" Zeichen in eine oder mehrere makierte Zellen anfügen.
zBsp. in mehere Zellen stet ein Wert "110" die markierten sollen dann in "110-" geändert werden.
Das funktioniert ja soweit mit folgendem Code:
Private Sub CommandButton1_Click() ' Minus setzen
Dim zelle As Range
For Each zelle In Selection
If Right(zelle, 1) = "+" Then GoTo Meldung
If Not Right(zelle, 1) = "-" Then zelle = zelle & "-"
Meldung: MsgBox "Error! Ein + ist vorhanden."
Next zelle
End Sub
Private Sub CommandButton2_Click() ' Plus setzen
Dim zelle As Range
For Each zelle In Selection
If Not Right(zelle, 1) = "+" Then zelle = zelle & "+"
Next zelle
End Sub
Mein Problem ist:
1. Wenn bereits ein "-" vohanden dann darf kein "+" angefügt sondern nur ersetzt werden. Dies möchte ich mit einer MsgBox anzeigen "soll der Wert geändert werden?" Ja/ Nein
2.habe ich mehrere Zellen (5) markiert kommt die MsgBox -Meldung 5mal. Ideal wäre 1 Meldung.
Hat jemand ein Tip?
Danke Mario
Antwort 1 von Beverly
Hi Mario,
vielleicht so
Bis später,
Karin
vielleicht so
Private Sub CommandButton1_Click() ' Minus setzen
Dim zelle As Range
For Each zelle In Selection
If Right(zelle, 1) = "+" Then
MsgBox "Error! Ein + ist vorhanden."
Else
If Not Right(zelle, 1) = "-" Then zelle = zelle & "-"
End If
Next zelle
End Sub
Private Sub CommandButton2_Click() ' Plus setzen
Dim zelle As Range
Dim strFrage As String
For Each zelle In Selection
If Not Right(zelle, 1) = "+" Then
If Right(zelle, 1) = "-" Then
strFrage = MsgBox("Es ist ein '-' vohanden" & vbLf & "Ersetzen?", vbExclamation + vbYesNo, "Was soll getan werden")
If strFrage = vbYes Then zelle = Left(zelle, Len(zelle) - 1) & "+"
Else
zelle = zelle & "+"
End If
End If
Next zelle
End Sub
Bis später,
Karin

