VBA Tabellenübergreifend ?

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: VBA Tabellenübergreifend ? von: Holger
Geschrieben am: 25.02.2005 23:33:02

Hallo
Ich habe ein Problem.
Ich habe nun dank der Hilfe eines netten Forum-Users folgenden VBA-Code in eine
Excel-Datei von mir integrieren können.
Es geht um eine Kunden und Adressuche.
Das klappt auch alles prima.
Noch einmal vielen Dank dafür!!!!!!
Nun möchte ich ein weiteres neues Tabellenblatt anlegen, auf dem dann ausschliesslich die Kundendaten hintelegt sind (Tabelle2)
Das Ergebnis der Suche soll weiterhin auf Tabelle1 angezeigt werden.
Auch das Suchkriterium soll weiterhin dort eingegeben werden können.
Der jetzige Code wo das Ergebnis in dem gleichen Tabellenblatt angezeigt
wird in der auch die Kundendaten sind lautet:

Public Sub t()
Dim zelle As Range
Dim l As Long
Range("g2:k1000").ClearContents
l = 2
If Range("g1") <> "" Then
For Each zelle In Range("A1:a1000")
If InStr(1, zelle, Range("g1").Text) > 0 Then
Cells(l, 7) = zelle
Cells(l, 8) = zelle.Offset(0, 1)
Cells(l, 9) = zelle.Offset(0, 2)
Cells(l, 10) = zelle.Offset(0, 3)
Cells(l, 11) = zelle.Offset(0, 4)
Cells(l, 12) = zelle.Offset(0, 5)
Cells(l, 13) = zelle.Offset(0, 6)
l = l + 1
End If
Next
End If
End Sub


Private Sub CommandButton1_Click()
Call t
End Sub

Das klappt auch alles.

Nun gibt es eine weitere neue Tabelle (Tabelle2)auf der ausschliesslich die Kundendaten stehen.
Meiner Meinung nach müsste der Code dann so umgeschrieben werden, aber das klappt nicht bei VBA :-)

Public Sub t()
Dim zelle As Range
Dim l As Long
Range("g2:k1000").ClearContents
l = 2
If Range("g1") <> "" Then
For Each zelle In Range("Tabelle2!A1:Tabelle2!a1000")
If InStr(1, zelle, Range("g1").Text) > 0 Then
Cells(l, 7) = zelle
Cells(l, 8) = zelle.Offset(0, 1)
Cells(l, 9) = zelle.Offset(0, 2)
Cells(l, 10) = zelle.Offset(0, 3)
Cells(l, 11) = zelle.Offset(0, 4)
Cells(l, 12) = zelle.Offset(0, 5)
Cells(l, 13) = zelle.Offset(0, 6)
l = l + 1
End If
Next
End If
End Sub


Private Sub CommandButton1_Click()
Call t
End Sub


Wie müsste es verändert werden, wer kann mir helfen?
Ich habe die Datei einmal hochgeladen mit Erklärung dazu:
https://www.herber.de/bbs/user/18835.xls

Vielen Dank für Hilfe.
Bild


Betrifft: AW: VBA Tabellenübergreifend ? von: Herbert H.
Geschrieben am: 25.02.2005 23:56:11

hallo Holger,
probiers mal so:

Public

Sub t()
Dim zelle As Range, bereich As Range
Dim l As Long
Set bereich = Sheets("Tabelle2").[a1:a1000]
Range("g2:k1000").ClearContents
l = 2
If Range("g1") <> "" Then
For Each zelle In bereich
If InStr(1, zelle, Range("g1").Text) > 0 Then
Cells(l, 7) = zelle
Cells(l, 8) = zelle.Offset(0, 1)
Cells(l, 9) = zelle.Offset(0, 2)
Cells(l, 10) = zelle.Offset(0, 3)
Cells(l, 11) = zelle.Offset(0, 4)
Cells(l, 12) = zelle.Offset(0, 5)
Cells(l, 13) = zelle.Offset(0, 6)
l = l + 1
End If
Next
End If
End Sub



gruß Herbert


Bild


Betrifft: AW: VBA Tabellenübergreifend ? von: Holger
Geschrieben am: 27.02.2005 17:19:39

Hallo Herbert
Damit konnte ich etwas anfangen.Vielen Dank.
Ist es nun möglich einen weiteren CommandButton einzufügen, mit dem dann in einer anderen Zelle nach z.B der Kundennummer gesucht werden kann?
Und ein weiteres für Firmenname usw.?
Ich habe einmal die veränderte Datei hochgeladen.
https://www.herber.de/bbs/user/18901.xls
Wie geht es nun wieter? Muss man eine weitere Sub-Routine anlegen?

Gruss
Holger


Bild


Betrifft: AW: VBA Tabellenübergreifend ? von: Herbert H.
Geschrieben am: 28.02.2005 22:43:59

die restlichen drei kannst du sicher selber anpassen...
gruß Herbert

https://www.herber.de/bbs/user/18969.xls


 Bild

Beiträge aus den Excel-Beispielen zum Thema "2 spalten vergleichen !?!"