1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Makroprogrammierung in VBA

Discussion in 'Office-Programme' started by moritz20010, Jul 26, 2010.

Thread Status:
Not open for further replies.
  1. In einer UserForm möchte ich einen Tabellenwert in zwei Textboxen anzeigen lassen.

    Beispiel:
    Zelle in Tabellenblatt zeigt „12 / 2010“

    Anzeige in Userform soll
    Textbox1 = „12“
    Textbox2 = „2010“
    Anzeigen.

    Hat jemand einen Tipp für mich?
     
  2. bahnrat

    bahnrat Kbyte

    Hallo!

    Private Sub CommandButton1_Click()
    Dim vntTempArray As Variant
    Dim xlString As String

    xlString = Range("A1").Value
    xlString = Replace(xlString, " ", "")
    vntTempArray = Split(xlString, "/")
    TextBox1.Text = vntTempArray(0)
    TextBox2.Text = vntTempArray(1)
    End Sub

    Code eingefügt mit VBA in HTML 2.0

    Gruß, René
     
  3. Urs2

    Urs2 Megabyte

    Hallo Moritz

    1. Wenn der User die angezeigte Zahl im Userform verändern darf, ist die die Textbox richtig.
    Sonst nimmst Du besser ein Bezeichnungsfeld (= Label)

    2. Wenn der Wert in der Zelle als Datum formatiert ist (benutzerdefiniert "MM / JJJJ"), dann >
    TextBox1 = Month(Tabelle1.Range("A1"))
    TextBox2 = Year(Tabelle1.Range("A1"))
    ...liest Monat oder Jahr aus dem Datumwert

    3. Wenn der Wert in der Zelle als Text formatiert ist, dann >
    Label1 = Val(Tabelle1.Range("A2"))
    Label2 = Trim(Right(Tabelle1.Range("A2"), InStr(Tabelle1.Range("A2"), "/")))
    ...liest Zahlen vor dem Schrägstrich als Monat und...
    ...was rechts vom Schrägstrich steht als Jahr... und entfernt Leerzeichen.

    TextBox1 oder Label1 nach Bedarf dann auswechseln.

    Gruss Urs


    Edit:
    Oh... jetzt darf er sogar noch auswählen...
     
  4. Beverly

    Beverly Halbes Megabyte

    Hi Moriz,

    wenn Zelle als Text formatiert ist:

    Code:
    Private Sub CommandButton1_Click()
        TextBox1 = Left(Range("A1"), 2)
        TextBox2 = Right(Range("A1"), 4)
    End Sub
    
     
  5. Hallo René, hallo Urs, hallo Karin,

    danke für Eure Hilfe, hat wunderbar geklappt.

    Hab in diesem Fall die Lösung von Karin übernommen, da sie für mich „einfacher“ war.

    Gruß Moritz
     
Thread Status:
Not open for further replies.

Share This Page