Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1776to1780
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Adressdaten aus ZWA in Textboxes
21.08.2020 10:41:16
Wolfgang
Hallo,
aus einer anderen Anwendungen übernehme ich derzeit noch manuell Adressdaten im Format:
Frau Müller, Sabine
Mozartstr. 41
12345 Berlin
Könnte denkbar sein, diese Daten aus der Zwischenablage in Textboxes eines UF aufzuteilen.
TB1= Anrede
TB2 = Name
TB3 = Vorname
TB4 = Straße
TB5 = PLZ
TB6 = Ort
Ich würde mich sehr freuen, wenn das funktionieren könnte, dann hätte ich erheblich weniger Tipparbeiten.
Herzlichen Dank schon jetzt für die Rückmeldungen und viele Grüße - Wolfgang

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Adressdaten aus ZWA in Textboxes
21.08.2020 12:18:13
Nepumuk
Hallo Wolfgang,
teste mal:
Private Sub UserForm_Activate()
    
    Dim strText As String
    Dim avntValues As Variant, vntItem As Variant
    Dim ialngIndex As Long, lngIndex As Long
    Dim objClipBoard As DataObject
    
    Set objClipBoard = New DataObject
    Call objClipBoard.GetFromClipboard
    strText = objClipBoard.GetText
    Set objClipBoard = Nothing
    
    avntValues = Split(strText, vbCrLf)
    
    TextBox1.Text = Split(avntValues(0), " ")(0)
    
    For Each vntItem In Split(avntValues(0), " ")
        
        If Right$(vntItem, 1) = "," Then Exit For
        lngIndex = lngIndex + 1
        
    Next
    
    For ialngIndex = 1 To lngIndex
        
        TextBox2.Text = TextBox2.Text & Split(avntValues(0), " ")(ialngIndex) & " "
        
    Next
    
    TextBox2.Text = Replace$(TextBox2.Text, ",", vbNullString)
    
    TextBox2.Text = Trim$(TextBox2.Text)
    
    For ialngIndex = lngIndex + 1 To UBound(Split(avntValues(0), " "))
        
        TextBox3.Text = TextBox3.Text & Split(avntValues(0), " ")(ialngIndex) & " "
        
    Next
    
    TextBox3.Text = Trim$(TextBox3.Text)
    
    TextBox4.Text = avntValues(1)
    
    TextBox5.Text = Split(avntValues(2), " ")(0)
    
    For ialngIndex = 1 To UBound(Split(avntValues(2), " "))
        
        TextBox6.Text = TextBox6.Text & Split(avntValues(2), " ")(ialngIndex) & " "
        
    Next
    
    TextBox6.Text = Trim$(TextBox6.Text)
    
End Sub

Gruß
Nepumuk
Anzeige
Index außerhalb des gültigen Bereichs
21.08.2020 12:48:39
Wolfgang
Hallo Nepumuk,
zunächst vielen vielen Dank für Deine schnelle Rückmeldung. Ich habe den Code "eingebaut" - er stoppt bei: TextBox1.Text = Split(avntValues(0), " ")(0) - Hättest Du da evtl. eine Idee, woran das liegen könnte? - Danke schon jetzt wieder für Deine Rückmeldung. Gruß - Wolfgang
AW: Index außerhalb des gültigen Bereichs
21.08.2020 12:56:00
Nepumuk
Hallo Wolfgang,
ändere mal:
avntValues = Split(strText, vbLf)

Gruß
Nepumuk
Leider keine Veränderung
21.08.2020 13:16:50
Wolfgang
Hallo Nepumuk,
Fehlermeldung bleibt leider weiterhin.
Gruß - Wolfgang
AW: Leider keine Veränderung
21.08.2020 13:25:26
Nepumuk
Hallo Wolfgang,
ändere mal:
avntValues = Split(strText, vbCr)
irgendein Umbruch muss ja passen. Wenn nicht, dann füge die Zwischenablage mal in den Texteditor ein. Wie sieht dass dann aus?
Gruß
Nepumuk
Anzeige
i.Texteditor dazwischen jeweils 3 Leerzeilen
21.08.2020 13:37:27
Wolfgang
Hallo Nepumuk,
die Fehlermeldung bleibt weiterhin. Habe somit die Zwischenablage in den Texteditor kopiert.
Es sind tatsächlich jeweils zwischen den "Zeilen" 3 Leerzeilen.
Gruß - Wolfgang
Herr Müller, Alfred
Kastanienweg.....
AW: i.Texteditor dazwischen jeweils 3 Leerzeilen
21.08.2020 13:44:29
Nepumuk
Hallo Wolfgang,
füg das mal in eine .txt ein und lade die hoch.
Gruß
Nepumuk
AW: i.Texteditor dazwischen jeweils 3 Leerzeilen
21.08.2020 13:58:17
Nepumuk
Hallo Wolfgang,
teste jetzt mal:
Private Sub UserForm_Activate()
    
    Dim strText As String
    Dim avntValues As Variant, vntItem As Variant
    Dim ialngIndex As Long, lngIndex As Long
    Dim objClipBoard As DataObject
    
    Set objClipBoard = New DataObject
    Call objClipBoard.GetFromClipboard
    strText = objClipBoard.GetText
    Set objClipBoard = Nothing
    
    avntValues = Split(strText, vbCrLf)
    
    TextBox1.Text = Split(avntValues(2), " ")(0)
    
    For Each vntItem In Split(avntValues(2), " ")
        
        If Right$(vntItem, 1) = "," Then Exit For
        lngIndex = lngIndex + 1
        
    Next
    
    For ialngIndex = 1 To lngIndex
        
        TextBox2.Text = TextBox2.Text & Split(avntValues(2), " ")(ialngIndex) & " "
        
    Next
    
    TextBox2.Text = Replace$(TextBox2.Text, ",", vbNullString)
    
    TextBox2.Text = Trim$(TextBox2.Text)
    
    For ialngIndex = lngIndex + 1 To UBound(Split(avntValues(2), " "))
        
        TextBox3.Text = TextBox3.Text & Split(avntValues(2), " ")(ialngIndex) & " "
        
    Next
    
    TextBox3.Text = Trim$(TextBox3.Text)
    
    TextBox4.Text = avntValues(6)
    
    TextBox5.Text = Split(avntValues(10), " ")(0)
    
    For ialngIndex = 1 To UBound(Split(avntValues(10), " "))
        
        TextBox6.Text = TextBox6.Text & Split(avntValues(10), " ")(ialngIndex) & " "
        
    Next
    
    TextBox6.Text = Trim$(TextBox6.Text)
    
End Sub

Gruß
Nepumuk
Anzeige
Super - tadellos!! - Tausend Dank!!!
21.08.2020 14:03:17
Wolfgang
Hallo Nepumuk,
vielen vielen Dank! - Das funktioniert nun wunderbar. Du hast mir sehr geholfen!! - Vielen Dank auch für Deine Geduld mit mir. Ich freue mich sehr.
Alles Gute weiterhin und Herzliche Grüße - Wolfgang
Ergänzung - zwischen d. Wörtern = Leerzeichen
21.08.2020 13:46:11
Wolfgang
könnte evtl. auch wichtig sein? Zwischen den Wörtern befindet sich jeweils ein Leerzeichen.
Gruß - Wolfgang

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige