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

Suche über mehrere Tabellen VBA

Suche über mehrere Tabellen VBA
30.11.2007 14:01:42
Wolfgang
Hallo*
die untenstehenden Codes verwende ich, um Daten aus dem Tabellenblatt "Daten" in ein UF bzw. in darin befindliche Textfenster "einzuspeisen". Über den Code "UserForm_Activate - Textfelder_Fuellen "Daten" wird der eigentliche Code angesprochen (den ich untenstehend nur auszugsweise eingefügt habe). Was müßte ich verändern, damit die Suche nach den jeweiligen Überschriften nicht nur im Tabellenblatt "Daten" erfolgt, sondern auch auf Tabellenblatt "Daten2" und "Daten3" ausgeweitet wird? Danke schon jetzt für die Rückantworten.
Herzliche Grüße
Wolfgang

Private Sub UserForm_Activate()
txtGebdat = Format(txtGebdat.Value, "dd.mm.yy")
Textfelder_Fuellen "Daten"
End Sub


Sub Textfelder_Fuellen(ByVal x_Sheet As String)
Dim mySheet As Worksheet
Dim rng As Range
Dim i As Integer, Anzahl As Integer
'Bildschirmflackern aus
Application.ScreenUpdating = False
'Telefon
Set rng = .Rows(1).Find("Kunde_Telefon", LookAt:=xlWhole)
If Not rng Is Nothing Then
txtTelefon.Text = rng.Offset(1, 0).Text
End If
'Anrede
Set rng = .Rows(1).Find("Kunde_Anrede", LookAt:=xlWhole)
If Not rng Is Nothing Then
txtAnrede.Text = rng.Offset(1, 0).Text & " " & rng.Offset(1, 1).Text
End If
End Sub


3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suche über mehrere Tabellen VBA
01.12.2007 18:10:27
fcs
Hallo Wolfgang,
du kannst die Blattnamen in einem Array an die Sub übergeben und dann die Blatt-Namen in einer For-Next-Schleife abarbeiten.
Code schaut dann etwa wie folgt aus.
Gruß
Franz

Private Sub UserForm_Activate()
txtGebDat = Format(txtGebDat.Value, "dd.mm.yy")
Call Textfelder_Fuellen(Array("Daten", "Daten2", "Daten3"))
End Sub
Sub Textfelder_Fuellen(SheetNames As Variant)
Dim mySheet As Worksheet
Dim rng As Range
Dim i As Integer, Anzahl As Integer, iSheet As Integer
'Bildschirmflackern aus
Application.ScreenUpdating = False
For iSheet = LBound(SheetNames) To UBound(SheetNames)
Set mySheet = Worksheets(SheetNames(iSheet))
With mySheet
'Telefon
Set rng = .Rows(1).Find("Kunde_Telefon", LookAt:=xlWhole)
If Not rng Is Nothing Then
txtTelefon.Text = rng.Offset(1, 0).Text
End If
'Anrede
Set rng = .Rows(1).Find("Kunde_Anrede", LookAt:=xlWhole)
If Not rng Is Nothing Then
txtAnrede.Text = rng.Offset(1, 0).Text & " " & rng.Offset(1, 1).Text
End If
End With
Next iSheet
End Sub


Anzeige
Danke Franz
01.12.2007 19:01:00
Wolfgang
Hallo Franz,
herzlichen Dank für die Rückmeldung und Ausarbeitung des Codes. Zu meiner Schande muß ich eingestehen, dass ich mir die Datei nicht nach Hause geschickt habe und den Code somit erst Montag im Büro einbauen kann. Ich werde mich dann auf jeden Fall noch kurz zurück melden. In dem Sinne ein schönes Wochenende und nochmals Danke !
Gruß - Wolfgang

AW: Danke Franz - klappt super
03.12.2007 19:52:00
Wolfgang
Hallo Franz,
wie vereinbart, melde ich mich kurz zurück. Der Code funktioniert super - dafür nochmals herzlichen Dank !
Gruß - Wolfgang

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige