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

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.

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
AW: VBA Tabellenübergreifend ?
28.02.2005 22:43:59
Herbert H.
die restlichen drei kannst du sicher selber anpassen...
gruß Herbert
https://www.herber.de/bbs/user/18969.xls
Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige