Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1008to1012
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
Daten in UF und nicht in Tabelle
10.09.2008 20:31:00
Wolfgang
Hallo,
den untenstehenden Code hatte mir Tino soweit zur Verfügung gestellt und er läuft auch super. Nun kam mir nur die Überlegung, ob die zu importierenden Daten anstatt in eine Tabelle auch in ein Userform mit entsprechenden Textboxes eingefügt werden können (Textbox1 = Vorname, Textbox 2 = Nachname) etc. - Ich hatte hierzu auch einen Thread geöffnet, der aber wohl vermutlich als erledigt gilt, da mein grundsätzliches Problem Dank Tino gelöst war und die jetzige Frage sich nun spontan ergab. Bedanke mich schon jetzt wieder für die Rückmeldungen,
Herzliche Grüße
Wolfgang
Option Explicit
'Pfad zur Datei
Const strPFAD = "C:\Dokumente und Einstellungen\ts\Eigene Dateien\Forum\"

Sub XMLLesen()
Dim F As Integer
Dim sInhalt As String
Dim sFilename As String
Dim tempText() As String
Dim A As Long
'Datei Pfad + Name
sFilename = strPFAD & "Wolfgang.xml"
Application.ScreenUpdating = False
On Error GoTo Fehler:
'Überschrift
Range("A1") = "Vorname"
Range("B1") = "Nachname"
Range("A1:B2").Font.Bold = True
'Datei in String einlesen
F = FreeFile
Open sFilename For Binary As #F
sInhalt = Space$(LOF(F))
Get #F, , sInhalt
Close #F
'String aufteilen nach Vorname
tempText = Split(sInhalt, "MitarbeiterVorname"">")
For A = 1 To Ubound(tempText)
Cells(A + 1, 1) = Left$(tempText(A), InStr(tempText(A), "")
For A = 1 To Ubound(tempText)
Cells(A + 1, 2) = Left$(tempText(A), InStr(tempText(A), "

Sub
'Fehlerbeandlung
Fehler:
Application.ScreenUpdating = True
If Err.Number  0 Then MsgBox Err.Description, vbCritical, "Fehler"
On Error Resume Next
Close #F
End 

Sub


		

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten in UF und nicht in Tabelle
10.09.2008 21:22:15
Tino
Hallo,
dies geht so, Kommentare stehen im Code.
Dialog UserForm1
Option Explicit 
 
Private Sub CommandButton1_Click() 
  Dim F As Integer 
  Dim sInhalt As String 
  Dim sFilename As String 
  Dim tempText() As String 
  Dim A As Long 
  Const strPFAD = "C:\Dokumente und Einstellungen\ts\Eigene Dateien\Forum\" 
  'Datei Pfad + Name 
  sFilename = strPFAD & "Wolfgang.xml" 
  
Application.ScreenUpdating = False 
On Error GoTo Fehler: 
   
  'Datei in String einlesen 
    F = FreeFile 
    Open sFilename For Binary As #F 
    sInhalt = Space$(LOF(F)) 
    Get #F, , sInhalt 
    Close #F 
   
 'String aufteilen nach Vorname 
    tempText = Split(sInhalt, "MitarbeiterVorname"">") 
     
 'hier wird der Name in die Textboxen geschrieben. 
 'im Beispiel gehe ich davon aus, dass für jeden Vor bzw. Nachnamen 4 Textboxen gibt 
 'Achtung beim Aufbau auf die Reihenfolge der Textboxen achten. 
 'Für Nachname Textbox1 bis Textbox4 
 'Für Vorname Textbox5 bis Textbox8 
     
    For A = 1 To Ubound(tempText) 
     UserForm1("TextBox" & A) = Left$(tempText(A), InStr(tempText(A), "<") - 1) 
    Next A 
  
 Erase tempText 
   
 'String aufteilen nach Nachname 
 tempText = Split(sInhalt, "MitarbeiterNachname"">") 
     
    For A = 1 To Ubound(tempText) 
     UserForm1("TextBox" & 4 + A) = Left$(tempText(A), InStr(tempText(A), "<") - 1) 
    Next A 
  
 Erase tempText 
 Application.ScreenUpdating = True 
Exit Sub 
 
'Fehlerbeandlung 
Fehler: 
Application.ScreenUpdating = True 
If Err.Number <> 0 Then MsgBox Err.Description, vbCritical, "Fehler" 
On Error Resume Next 
Close #F 
 
End Sub 


Gruß Tino

Anzeige
AW: Daten in UF und nicht in Tabelle
10.09.2008 21:53:00
Wolfgang
Hallo Tino,
wiederum erneuten Dank für Deine Rückmeldung. Gibt es eine Möglichkeit, direkt die Textboxes zuzuweisen? Vorname Textbox1, Nachname Textbox2 usw. - Ich habe Deinen Code so umgestellt und es erscheint nun in Textbox1 der Vorname und Textbox5 der Nachname. Schön wäre, wenn ich die jeweilige Zuweisung direkt auf die Textboxes vornehmen könnte, da jeweils immer nur ein Vorname, Nachname etc. abgefragt werden. In der Gesamtheit werden sich im UF nachher ca. 30 Textboxes befinden, so dass es überschaubarer wäre, wenn ich direkt die Daten in die Textboxes "einspeisen" könnte.
Gruß - Wolfgang
Anzeige
AW: Daten in UF und nicht in Tabelle
10.09.2008 22:19:00
Tino
Hallo,
teste mal.
Dialog UserForm1
Option Explicit 
 
Private Sub CommandButton1_Click() 
 
  Dim F As Integer 
  Dim sInhalt As String 
  Dim sFilename As String 
  Dim tempText() As String, tempText1() As String 
  Dim A As Long 
  Const strPFAD = "C:\Dokumente und Einstellungen\ts\Eigene Dateien\Forum\" 
  'Datei Pfad + Name 
  sFilename = strPFAD & "Wolfgang.xml" 
   
Application.ScreenUpdating = False 
On Error GoTo Fehler: 
    
  'Datei in String einlesen 
    F = FreeFile 
    Open sFilename For Binary As #F 
    sInhalt = Space$(LOF(F)) 
    Get #F, , sInhalt 
    Close #F 
    
 'String aufteilen nach Vorname 
    tempText = Split(sInhalt, "MitarbeiterVorname"">") 
    tempText1 = Split(sInhalt, "MitarbeiterNachname"">") 
      
    For A = 1 To Ubound(tempText) Step 2 
     UserForm1("TextBox" & A) = Left$(tempText(A), InStr(tempText(A), "<") - 1) 
     UserForm1("TextBox" & A + 1) = Left$(tempText1(A), InStr(tempText1(A), "<") - 1) 
    Next A 
   
 Erase tempText 
 Erase tempText1 
 Application.ScreenUpdating = True 
Exit Sub 
  
'Fehlerbeandlung 
Fehler: 
Application.ScreenUpdating = True 
If Err.Number <> 0 Then MsgBox Err.Description, vbCritical, "Fehler" 
On Error Resume Next 
Close #F 
 
 
End Sub 
 
 


Gruß Tino

Anzeige
txtVorname, txtNachname, txt**
11.09.2008 05:52:15
Wolfgang
Hallo Tino,
ich hatte leider vergessen (sorry) zu beschreiben, dass die Textboxes alle individuelle Namen haben und innerhalb der Excel-Mappe an verschiedenen Stellen auf diese namentlich benannten Textfenster zugegriffen wird (txtName, txtVorname etc.); Wäre eine Umstellung Deines Codes, der soweit super läuft, denkbar, um dann die Werte den namentlichen Textfenstern zuzuordnen? - Ich habe das versucht, umzustellen, da meldet VBA immer, dass das Objekt fehlt. Herzlichen schon jetzt wieder für Deine Rückmeldung.
Gruß - Wolfgang
AW: txtVorname, txtNachname, txt**
11.09.2008 06:08:00
Tino
Hallo,
besser ist es deine Texboxen anzupassen.
Bin auf der arbeit.
Gruß Tino
Anzeige
AW: txtVorname, txtNachname, txt**
11.09.2008 15:52:00
Tino
Hallo,
also ich will damit sagen, Du solltest den Aufbau Deiner Userform immer Sinnvoll aufbauen um so wenig wie möglich mit VBA irgendwelche Anpassungen machen zu müssen.
Im Beispiel von mir wäre dies jetzt so:
TextBox1 = Vorname1; TextBox2=Nachname1
TextBox3 = Vorname2; TextBox4=Nachname2
TextBox5 = Vorname3; TextBox6=Nachname3
usw.…
Also die Ungeraden sind die Vornamen die geraden die Nachnamen und liegen immer beieinander.
Somit ist auch eine spätere Weiterverarbeitung leichter umzusetzen.
Gruß Tino
AW: txtVorname, txtNachname, txt**
14.09.2008 14:08:20
Wolfgang
Hallo Tino,
entschuldige, dass ich mich erst jetzt wieder melde - irgendwie hatte mich in den letzten Tagen wohl eine Erkältung/Grippe ans Bett gefesselt. Ich habe mir Deinen Ratschlag zu Herzen genommen und die Excel-Mappe entsprechend umgestellt. Das klappt nun wunderbar. Herzlichen Dank dafür und einen schönen Sonntag noch. Herzliche Grüße
Wolfgang
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige