online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Flixe84 vom 21.06.2022, 18:22 Options

Lösung

Formularfeld in VBA

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)


Antwort schreiben

Antwort 1 von Beverly vom 22.06.2022, 09:15 OptionsLösung

Lösung
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

Antwort 2 von woher vom 22.06.2022, 22:04 Options

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.

Antwort 3 von Beverly vom 23.06.2022, 08:01 Options

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

Ähnliche Themen

Haltemodus in VBA
Philipp81  28.02.2009 - 565 Hits - 1 Antwort

Formel in VBA
wmei  19.03.2009 - 198 Hits - 2 Antworten

Excel VBA
Tonerl  27.04.2009 - 245 Hits - 7 Antworten

VBA - Autofilterproblem
Tomschi  25.06.2009 - 245 Hits - 6 Antworten

VBA Code
DOMMEl  01.06.2010 - 177 Hits - 4 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 11:26:25 2026