Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Tabellenübergreifend ?

Forumthread: VBA Tabellenübergreifend ?

VBA Tabellenübergreifend ?
25.02.2005 23:33:02
Holger
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.
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Tabellenübergreifend ?
25.02.2005 23:56:11
Herbert H.
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
Anzeige
AW: VBA Tabellenübergreifend ?
27.02.2005 17:19:39
Holger
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.

Die Datei https://www.herber.de/bbs/user/18901.xls wurde aus Datenschutzgründen gelöscht

Wie geht es nun wieter? Muss man eine weitere Sub-Routine anlegen?
Gruss
Holger
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige