Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
796to800
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
796to800
796to800
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zelle A.., dann Inhalt Zelle B..

Zelle A.., dann Inhalt Zelle B..
04.09.2006 21:47:09
Wolfgang
Hallo*
ich benötige einmal mehr die Hilfe des Forums:
der Inhalt von Textboxes (insgesamt 25) einer UF wird über Hilfstabellenblätter aus einer Textdatei "beschickt"; Siehe untenstehenden Auszug. Nun passiert leider häufiger, dass die Textdatei, die ich selbst übersandt bekomme und somit auf das Format der Datei direkt keinen Einfluß habe, in Nuancen verändert ist und die zugewiesenen Zellen für die Textboxes nicht mehr stimmen. Die Überschriften in Zeile A bleiben allerdings immer erhalten. Gibt es somit eine Möglichkeit, dass ich den nachstehenden -auszugsweisen- Code so abändern kann, dass auf Grund der in Zeile A stehenden Überschrift bestimmt werden kann, immer dann den darunter befindlichen Text in Zeile B zu nehmen?
Also: Name in A1 = Inhalt aus A2, Vorname B1 = Inhalt aus B2, ohne nun Excel den Zellennamen anzugeben, sondern das Tabellenblatt (z.B Daten oder Daten2) und die Überschrift, um dann die darunterliegende Zelle als Inhalt in das Textfenster zu übernehmen. Ich wäre für eine Hilfestellung sehr dankbar.
Herzliche Grüße
Wolfgang
Hier der Auszug aus dem jetzigen Code:

Sub Textfelder_Fuellen()
With Worksheets("Daten").Activate
' Spaltenformat soll überall Standard sein
Cells.Select
Selection.NumberFormat = "General"
Columns("DD:DD").Select
Selection.NumberFormat = "m/d/yyyy"
'Anrede + ggfs. Titel CX2 und CY2
txtAnrede.Text = Range("CX2").Text & Space(1) & Range("CY2").Text
'Name + ggfs. Namenszusatz DB2 und DA2
If Range("DA2").Text = "" Then
txtName.Text = Range("DB2").Text & Space(1) & Range("DA2").Text
Else
txtName.Text = Range("DB2").Text & "," & Space(1) & Range("DA2").Text
End If
'Vorname CZ2
txtVorname.Text = Range("CZ2").Text
'GEburtsdatum DD 2
txtGebdat.Text = Range("DD2").Text
'Staatsangehörigkeit DF2
txtStaatsangeh.Text = Range("DF2").Text
'usw....
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelle A.., dann Inhalt Zelle B..
04.09.2006 22:23:31
Josef
Hallo Wolfgang!
Da würde sich die Find-Methode anbieten.
Sub Textfelder_Fuellen()
Dim rng As Range

With Worksheets("Daten")
  ' Spaltenformat soll überall Standard sein
  .Cells.NumberFormat = "General"
  .Columns("DD:DD").NumberFormat = "m/d/yyyy"
  
  Set rng = .Rows(1).Find("Anrede", LookAt:=xlWhole)
  If Not rng Is Nothing Then
    txtAnrede.Text = rng.Offset(1, 0).Text & IIf(rng.Offset(1, 1) <> "", ", " & rng.Offset(1, 1).Text, "")
  End If
  
  Set rng = .Rows(1).Find("Name", LookAt:=xlWhole)
  If Not rng Is Nothing Then
    txtName.Text = rng.Offset(1, 1).Text & IIf(rng.Offset(1, 0) <> "", ", " & rng.Offset(1, 0).Text, "")
  End If
  
  Set rng = .Rows(1).Find("Vorname", LookAt:=xlWhole)
  If Not rng Is Nothing Then
    txtVorname.Text = rng.Offset(1, 0).Text
  End If
  
  Set rng = .Rows(1).Find("Geburtsdatum", LookAt:=xlWhole)
  If Not rng Is Nothing Then
    txtGebdat.Text = rng.Offset(1, 0).Text
  End If
  
  Set rng = .Rows(1).Find("Staatsangehörigkeit", LookAt:=xlWhole)
  If Not rng Is Nothing Then
    txtStaatsangeh.Text = rng.Offset(1, 0).Text
  End If
  
End With

Set rng = Nothing

End Sub


Gruß Sepp

Anzeige
Danke Josef !!
05.09.2006 06:14:53
Wolfgang
Hallo Josef,
herzlichen Dank für Deine schnelle Rückantwort und Deine Ausarbeitungen. Ich werde sie schnell umsetzen und bin jetzt schon davon überzeugt, dass Dein Code funktionieren wird. Somit nochmals Danke!!
Sollte wider Erwarten etwas nicht funktionieren, werde ich mich noch melden.
Herzliche Grüße
Wolfgang

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige