Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
652to656
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
652to656
652to656
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Script abändern für Datensuche

Script abändern für Datensuche
21.08.2005 12:28:37
Nikki
Hallo !
ich benötige Hilfe bei folgendem Script :

Sub Uebetragen()
Dim rng As Range
Dim iRowL As Integer, iRow As Integer
iRowL = Cells(Rows.Count, 8).End(xlUp).Row
For iRow = 8 To iRowL
If Not IsEmpty(Cells(iRow, 8)) Then
With Worksheets("Tabelle2")
Set rng = .Cells.Find(Cells(iRow, 8), _
lookat:=xlWhole, LookIn:=xlValues)
If Not rng Is Nothing Then
Cells(iRow, 2) = .Cells(rng.Row, 2)
Cells(iRow, 3) = .Cells(rng.Row, 3)
End If
End With
End If
Next iRow
End Sub

Dieses Script durchsucht Tabelle2 nach der Artikelnummer,
die in einer anderen Tabelle in Reihe H eingegeben wurde und
fügt den Inhalt in Reihe B und C ein.
Kann mir jemand dieses Script so abändern, dass nicht nur
in Tabelle2 gesucht wird sondern auch in bestimmten anderen Tabellen,
die allerdings unterschiedliche Namen tragen, wie z.B. Artikel,
Daten usw. Wichtig ist, dass nicht alle Tabellen durchsucht werden, so wie
ich es bei meiner Recherche hier oft gefunden habe.
with Sheets(Array("Tabelle2", "Artikel", "Daten")) funktioniert es
leider nicht.
Wäre nett wenn mir jemand helfen könnte.
Gruß Nikki

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Script abändern für Datensuche
21.08.2005 15:28:18
Ramses
Hallo
Warum sollte das mit dem Sheets-Array nicht gehen ?
mangels genauer Informationen wo die Zahlen hinkommen sollen, mal folgende Variante
Option Explicit

Sub test()
Dim wks As Worksheet
Dim rng As Range
Dim iRowL As Integer, iRow As Integer
Dim tarWks As Worksheet
Set tarWks = Worksheets("Wo_die_Daten_hin_sollen")
For Each wks In Sheets(Array("Tabelle2", "Tabelle1", "Tabelle3"))
    With wks
        iRowL = .Cells(.Rows.Count, 8).End(xlUp).Row
        For iRow = 8 To iRowL
            If Not IsEmpty(.Cells(iRow, 8)) Then
                Set rng = .Cells.Find(Cells(iRow, 8), _
                    lookat:=xlWhole, LookIn:=xlValues)
                If Not rng Is Nothing Then
                    tarWks.Cells(iRow, 2) = .Cells(rng.Row, 2)
                    tarWks.Cells(iRow, 3) = .Cells(rng.Row, 3)
                End If
            End If
        Next iRow
    End With
Next wks
End Sub

Gruss Rainer
Anzeige
AW: Script abändern für Datensuche
21.08.2005 16:23:25
Nikki
Hallo Ramses
Die Daten werden bei mir in Tabelle1 eingelesen
Leider Funktioniert das Skript in deiner Version
überhauptnicht. Vielleicht noch einmal zur Information:
Das Script sucht nach mehreren eingegebenen Artikelnummern die in Tabelle1 eigetragen werden in den anderern angegebenen Tabellen (in meiner Version leider nur in Tabelle2).
Wenn es die Nummer gefunden hat fügt es die Beschreibungen in bie nebenstehenden
Tabellenbereiche in (Tabelle1) ein hier in B und C.
Es sollte aber auch in anderen Tabellen zuchen
vielleicht hat ja noch jemand einen Lösungsvorschlag.
Trotzdem Danke an Ramses!
Anzeige
AW: Script abändern für Datensuche
21.08.2005 16:34:05
Ramses
Hallo
"...Leider Funktioniert das Skript in deiner Version überhauptnicht..."
Das stimmt nicht, der Code funktioniert einwandfrei.
Anpassen an die Tabellennamen musst du das schon selbst.
Ausserdem bin ich kein Hellseher wo die Daten herkommen und hin sollen, das hast du auch nicht geschrieben
Ich gehe davon aus, dass der Code ansonsten funktioniert.
Ich habe ihn nur dahingehend angepasst, dass er nur wie gewünscht bestimmte tabellen durchsucht, unter der Voraussetzung dass die Tabelle mit den Suchbegriffen aktiv ist.
Ist die Tabelle nicht aktiv, änder den Bereich
iRowL = .Cells(.Rows.Count, 8).End(xlUp).Row
in
iRowL = tarwks.Cells(.Rows.Count, 8).End(xlUp).Row
und
Set rng = .Cells.Find(Cells(iRow, 8)
in
Set rng = .Cells.Find(tarwks.Cells(iRow, 8)
Ich bin nun draussen.
Gruss Rainer
Anzeige
AW: Script abändern für Datensuche
21.08.2005 17:00:06
Nikki
Hallo
zuvor noch einen speziellen Gruß an Ramses !
vielen vielen Dank für deine Bemühungen, aber es
funktioniert leider leider nicht.
Und Entschuldigung für meine schlechte Formulierung
Das Script wird in der aktiven Tabelle1 ausgeführt, die Daten sollen
dann in den anderen Tabellen gesucht werden und wieder in die aktive Tabelle1
in die benannten Zeilen eingefügt werden
Leider weiß auch ich nicht mehr wie ich es sonst erklären soll !!
Sonst jemand eine Idee !!
Gruß Nikki
Das lass ich nicht auf mir sitzen....
21.08.2005 17:22:04
Ramses
Hallo
Ich gehe auf grund deines ersten Mails immer noch davon aus, dass der vorgestellte Code funktioniert, das tut er aber auch nicht !!
Er schreibt die Werte in die Spalte B und C und nicht NEBEN den Suchbegriff
Wenn das so sein soll musst du die Spalten entsprechend anpassen
Das ist die Ausgangslage
 
 HIJ
6SucheGesuchtGesucht
7 Offset 1Offset 2
8Muster Tabelle2  
9Muster Tabelle3  
10Muster Tabelle4  
11   
 

Das ist der Code mit den Anpassungen die ich dir vorhin vorgeschlagen habe
Option Explicit

Sub test()
    Dim wks As Worksheet
    Dim rng As Range
    Dim iRowL As Integer, iRow As Integer
    Dim tarWks As Worksheet
    Set tarWks = Worksheets("Tabelle1")
    For Each wks In Sheets(Array("Tabelle2", "Tabelle4", "Tabelle3"))
        With wks
            iRowL = tarWks.Cells(.Rows.Count, 8).End(xlUp).Row
            For iRow = 8 To iRowL
                If Not IsEmpty(tarWks.Cells(iRow, 8)) Then
                    Set rng = .Cells.Find(tarWks.Cells(iRow, 8), _
                        lookat:=xlWhole, LookIn:=xlValues)
                    If Not rng Is Nothing Then
                        tarWks.Cells(iRow, 9) = .Cells(rng.Row, 2)
                        tarWks.Cells(iRow, 10) = .Cells(rng.Row, 3)
                    End If
                End If
            Next iRow
        End With
    Next wks
End Sub

und das ist das Ergebnis
 
 HIJ
6SucheGesuchtGesucht
7 Offset 1Offset 2
8Muster Tabelle212
9Muster Tabelle312
10Muster Tabelle412
11   
 

Der Code funktioniert also einwandfrei...
Gruss Rainer
Anzeige
AW: Danke !! wollte Dich auch nicht anzweifeln
21.08.2005 18:47:53
Nikki
Hallo Ramses
Ich habe deinen Code in einer Neuen Tabelle
ausprobiert und DU hast recht er funktioniert
Nichts für ungut !!
Wollte Deine Fähigkeiten auch nicht anzweifeln,
habe aber irgendwie gedacht dass wir aneinander vorbeireden
Ich kann nicht genau sagen was falsch gelaufen ist
Danke, dass Du so hartnäckig warst
Hast mir sehr geholfen.

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige