mit folgendem Code markiere ich eine Spalte und ändere Textzahlen in Zahlen um.
Option Explicit
Private Sub CommandButton1_Click()
'Wandelt als Text vorliegende Zahlenwerte in 'echte' Zahlen um
'Spaltenbereich markieren ( auch mehrere ) und starten
Dim UserRange As Range
Dim Spalte As Range
Dim msgTitel As String
'Mit Eingabe-Box Spalten markieren
On Error Resume Next
Set UserRange = Nothing
Set UserRange = Application.InputBox(Prompt:=" Bitte einen Zellbereich auf dem _
Tabellenblatt " & _
"markieren..." & vbCrLf & vbCrLf & "Um mehrere Bereiche " & _
"zu markieren, halten Sie die Strg-Taste gedrückt " & _
"und markieren Sie den nächsten Bereich." & vbCrLf & vbCrLf, Title:="Range Select", Type:= _
8)
If Not UserRange Is Nothing Then
MsgBox "Folgender Bereich wurde ausgewählt:" & vbCrLf & vbCrLf & _
UserRange.Address, , msgTitel
Else
MsgBox "Ausführung wurde abgebrochen !"
Exit Sub
End If
On Error GoTo 0
For Each Spalte In UserRange.Columns
Columns(Spalte.Column).NumberFormat = "General"
Columns(Spalte.Column).TextToColumns
Next
End Sub
Der Code funktioniert einwandfrei bis auf:wenn in der geöffneten Eingabebox nichts eingetragen worden ist ( also keine Spalte ausgewählt worden ist und daher kein Eintrag )
und ich drücke den OK-Knopf, dann kommt eine Fehlermeldung "Die eingegebene Formel enthält einen Fehler".
Alle mir eingefallenen Möglichkeiten ( z.B. If UserRange Is Nothing Then "Bitte eine Eingabe" ) verändern das Verhalten nicht.
Kein Eintrag, dann kommt beim Drücken der OK-Taste die Fehlermeldung.
Wie kann der Code geändert werden, damit nicht eine Fehlermeldung kommt, sondern z.B. "Es wurde keine Spalte gewählt. Bitte wiederholen!"
Für evtl. Tipps oder Anregungen schon mal besten Dank!
Werner Go