924 Aufrufe
Gefragt in Tabellenkalkulation von Mitglied (926 Punkte)
Hallo Helfer,
das dies schlecht programmiert ist, wurde mir hier schon in einem anderenThread gesagt. Nun hätte ich es gerne "ordentlich".
Die InputBox soll immer wieder angesprungen werden, wie gültige Spaltenbuchstaben eingegeben worden sind, danach aber nicht Exit Sub, sondern es soll weiterer Code ausgeführt werden.
Sub Spalte_löschen()
Dim varAntwort as ???
varAntwort = Application.InputBox("Welche Spalte soll gelöscht werden?", "Bitte Spaltenbuchstaben eingeben", Type:=2)
If varAntwort = 0 Then Exit Sub
If varAntwort = "" Then Exit Sub
On Error Resume Next
Columns(varAntwort).Delete
Call Spalte_löschen
hier soll weiterer Code folgen
End Sub

Vielen Dank im Voraus
mfg
Wolfgang

1 Antwort

0 Punkte
Beantwortet von Mitglied (926 Punkte)
Hallo,
ich habe hier in anderen Threats geguckt und auch mal die VBA-Hilfe angesehen und bin nun zu diesem Code gekommen:
Sub Spalte_löschen()
Dim varAntwortL
Löschen:
varAntwortL = Application.InputBox("Welche Spalte soll gelöscht werden?", _
"Bitte Spaltenbuchstaben eingeben", Type:=2)
If varAntwortL = 0 Then GoTo einfügen
If varAntwortL = "" Then GoTo einfügen
On Error Resume Next
Columns(varAntwortL).Delete
GoTo Löschen

einfügen:
Dim varAntwortE
varAntwortE = Application.InputBox("links Spalte einfügen", "Bitte Spaltenbuchstaben eingeben", Type:=2)
If varAntwortE = 0 Then GoTo Prozent
If varAntwortE = "" Then GoTo Prozent
On Error Resume Next
Columns(varAntwortE).Insert Shift:=xlToLeft
GoTo einfügen

Prozent:
Dim varAntwortP
Dim Zelle As Variant
varAntwortP = Application.InputBox("In welcher Spalte sollen die Werte als % formatiert werden?", "Bitte Spaltenbuchstaben eingeben", Type:=2)
If varAntwortP = 0 Then Exit Sub
If varAntwortP = "" Then Exit Sub
On Error Resume Next
For Each Zelle In Columns(varAntwortP).SpecialCells(xlCellTypeConstants, xlNumbers)
If Zelle.IsNumber Then
Zelle.Value = Zelle / 100
Zelle.NumberFormat = "0%"
End If
Next Zelle
Columns(varAntwortP).EntireColumn.AutoFit
GoTo Prozent
End Sub

Und der funktioniert!
mfg
Wolfgang
...