1.6k Aufrufe
Gefragt in Tabellenkalkulation von flixe84 Mitglied (107 Punkte)
Hallo supportnet Freunde!

Ich habe folgendes VBA geschrieben:
Sub Datum_formatieren()
Columns("AL:AL").Select
Selection.TextToColumns Destination:=Range("AL1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 5), TrailingMinusNumbers:=True
Columns("AL:AL").EntireColumn.AutoFit
Columns("AO:AO").Select
End Sub

Das Teil wandelt in der Spalte A in das richtige Datumsfromat um.
Sprich von 20100618 in 18.06.2010.

Nun hätte ich da gerne noch so eine Maske eingebaut, in der ich die zu formatierende Spalte einfügen kann. Weil sonnst kann ich diesen Befehl ja nur immer auf der Spalte AL ausführen.

Könnt ihr mir weiterhelfen?

Herzlichen Dank & Grüße
Flixe84 (Felix Eisele)

3 Antworten

0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi Felix,

versuche es mal so:
Sub Datum_formatieren()
Dim varAntwort
Dim raBereich As Range
varAntwort = Application.InputBox("Bitte Spaltenbuchstaben eingeben", Type:=2)
If varAntwort <> False Then
On Error Resume Next
Set raBereich = Range(varAntwort & 1)
On Error GoTo 0
If Not raBereich Is Nothing Then
Columns(varAntwort).TextToColumns Destination:=Range(varAntwort & 1), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 5), TrailingMinusNumbers:=True
Columns(varAntwort).EntireColumn.AutoFit
End If
End If
Set raBereich = Nothing
End Sub

Bis später,
Karin
0 Punkte
Beantwortet von Mitglied (926 Punkte)
Hallo Helfer,

wie muss ich das Makro modifizieren, wenn ich

1. mehrere Spalten angeben können möchte
2. durch 100 teilen will
3. NumberFormat = "0%"

Vielen Dank im voraus
Schönen Abend noch

Wolfgang H.
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi Wolfgang,

1. man kann immer nur 1 Spalte über Daten -> Text in Spalten formatieren
2. schreibe 100 in eine Zelle, kopiere sie, markiere den zu dividierenden Bereich -> Bearbeiten -> Inhalte Einfügen -> Vorgang: Dividieren
3. markiere den Bereich -> Format -> Zellen -> Reiter: Zahlen -> Benutzerdefiniert -> 0%

Die Punkte 2 und 3 lassen sich mit dem Makrorekorder aufzeichnen.

Bis später,
Karin
...