Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1044to1048
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
Inhaltsverzeichnis

Gleichzeitiges suchen zweier Werte in 2 Spalten

Gleichzeitiges suchen zweier Werte in 2 Spalten
04.02.2009 19:11:00
Kriam

Hallo.
Ich habe ein Problem in Excel (VBA) und komme nicht dahinter wie es zu lösen ist. Ich hoffe, das ihr mir hier weiterhelfen könnt.
Ich habe in Tabelle1, 2 Spalten mit Werte (In der A Spalte stehen Artikelnummern, in der B Spalte stehen die Lagerplätze der Artikelnummern)
In der Tabelle2 stehen in den Zellen A1 und B1 die Suchartikel, bzw. der Lagerplatz.
(A1 :Artikelnummer, B1: Lagerplatz)
Jetzt soll mir VBA anhand der zwei Suchwerte von Tabelle2 in Tabelle1 nach den Werten suchen, und wenn eine übereinstimmung beider Zellen vorhanden ist, diese Zeile makieren (Es kann sowieso nur eine Zeile in Tabelle1 stehen, welche die Datensätze enthalten)
Wenn keine Übereinstimmung beider Zellen zustande kommt, soll mir eine MSGBOX nur einen Hinweiß geben.
Wie kann ich dies bewerkstelligen?
Beispiel:
Tabelle1:
A B
Zeile1 12345 Platz1
Zeile2 23456 Platz2
Zeile3 34567 Platz3
Zeile4 45678 Platz4
Zeile5 56789 Platz5
Tabelle2:
A1 B1
45678 Platz4
Das VBA Programm sollte mir jetzt die Zeile4 in Tabelle1 makieren, da hier dieSuchwerte von Tabelle2 übereinstimmen.

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Gleichzeitiges suchen zweier Werte in 2 Spalten
04.02.2009 19:25:05
Josef
Hallo Anton,
warum hast du darauf https://www.herber.de/forum/messages/1046451.html nicht geantwortet?
Auf Rückmeldung wird hier von vielen großer Wert gelegt. Auch von mir.
Gruß Sepp

Volle Zustimmung Sepp o.w.T.
04.02.2009 20:24:00
Reinhard


dem stimme ich auch zu...
04.02.2009 20:32:00
Tino
Hallo,
..., wenn ich Deinen Beitrag gelesen hätte, hätte ich wahrscheinlich nicht geantwortet.
Sollte wieder keine kommen, kommt dieser Name in meine schwarze Liste (die habe ich wirklich).
Gruß Tino
Anzeige
AW: dem stimme ich auch zu...
04.02.2009 20:34:00
Lothar
Tach auch,
stimme dem zu, dass du zustimmst.
Bitte setze mich auf deine schwarze Liste.
Grüße Lothar
Du bist doch schon schon in der Liste? oT.
04.02.2009 20:58:00
Tino
Danke, genial! oT
04.02.2009 21:18:01
Lothar
oT
AW: dem stimme ich auch zu...
04.02.2009 22:48:00
Reinhard
Hallo Lothar,
dein Beitrag ist mir zu wenig, könntest du bitte mal ausführen warum du dagegen bist Leute die Fragen stellen, auf die eingehnden Antworten nicht eingehen, sondern später die gleichen Frage(n) erneut stellen,
für sich persönlich auf eine schwarze Liste zu setzen?
Gruß
Reinhard
@Reinhard
05.02.2009 07:38:00
Tino
Hallo,
kennst Du die dummen Sprüche von Lothar nicht, ich kenne einige.
Er ist in diesem Forum dafür zuständig.
Gruß Tino
AW: @Reinhard
05.02.2009 19:54:00
Reinhard
Hallo Tino,
axo, alles klar, früher war ich hier mehr am Mitlesen, da konnte ich viel mehr Namen mit etwas verbinden, also mit pos. oder neg. Eindrücken.
Gruß
Reinhard
Anzeige
AW: Gleichzeitiges suchen zweier Werte in 2 Spalten
04.02.2009 20:50:43
Krisam
Hallo.
Tut mir leid, das die Meldung erst so spät kommt, aber ich habe immer nur am Abend Zeit, am PC zu Arbeiten.
Danke für deine Antwort, aber leider ist das nicht ganz das was ich benötige.
(Ich habe zwar jetzt mit deiner Lösung (die wirklich super ist) ein wenig herumexperementiert, aber es ist nicht ganz das was ich benötigen würde.
Ich versuche das ganze per VBA abzuwickeln.
Hättest du da eine Idee wie das funtionieren würde?
Danke nochmal für deine Antwort
AW: Gleichzeitiges suchen zweier Werte in 2 Spalten
04.02.2009 21:01:00
Josef
Hallo Krisam - oder Anton?
kein Problem. Es ist egal ob du mit einer vorgeschlagenen Lösung zurechtkommst oder nicht,
der oder die Helfer warten immer auf eine Rückmeldung ob positiv oder negativ.
VBA-Lösungen hast du ja schon bekommen.
Gruß Sepp

Anzeige
AW: Gleichzeitiges suchen zweier Werte in 2 Spalten
04.02.2009 21:13:02
Krisam
Hallo nochmal.
Das mit den Rückmeldungen versuche ich eh immer zu machen, a sich viele Helfer viel Zeit nehmen, um anderen zu helfen.
Aber wie gesagt, komme ich halt immer erst am Abend dazu (und das nicht täglich)
Aber danke nochmal für deine Hilfe.
AW: Gleichzeitiges suchen zweier Werte in 2 Spalten
04.02.2009 19:43:07
fcs
Hallo Kriam,
hier eine Möglichkeit.
Gruß
Franz

Sub SuchenArtikel()
Dim varArtikel, varLager, rngGefunden As Range, strAdresse1 As String
Dim wksListe As Worksheet, wksEingabe As Worksheet
'Namen der Tabellen und Zelladressen ggf. anpassen
Set wksListe = Worksheets("Tabelle1")
Set wksEingabe = Worksheets("Tabelle2")
varArtikel = wksEingabe.Range("A1")
varLager = wksEingabe.Range("B1")
With wksListe
'Artikel in Spalte 1 (A) suchen
Set rngGefunden = .Columns(1).Find(what:=varArtikel, LookIn:=xlValues, lookat:=xlWhole)
If rngGefunden Is Nothing Then
MsgBox "Artikel  """ & varArtikel & """  nicht gefunden!"
Else
strAdresse1 = rngGefunden.Address
'Suche wiederholen bis Lagerplatz übereinstimmt oder Suchadresse sich wiederholt
Do
'Prüfen ob Lagerplatz mit suchbegriff übereinstimmt
If rngGefunden.Offset(0, 1) = varLager Then
'Listen-Blatt aktivieren und Zeile markieren
.Activate
.Rows(rngGefunden.Row).Select
Exit Do
End If
'Nächste Zelle mit Artikel suchen
Set rngGefunden = .Columns.FindNext(After:=rngGefunden)
'Prüfen, ob Suche wieder bei 1. Fundstelle angekommen ist.
If rngGefunden.Address = strAdresse1 Then
MsgBox "Kombination von Artikel  """ & varArtikel & """  und Lagerplatz  """ _
& varLager & """  nicht gefunden!"
Exit Do
End If
Loop
End If
End With
End Sub


Anzeige
AW: Gleichzeitiges suchen zweier Werte in 2 Spalten
04.02.2009 21:01:00
Krisam
Hallo fcs.
Super.
Genau das habe ich gesucht.
Danke, das du dir die Arbeit mit dem (langen) Makro für mich gemacht hast.
Bye
und noch eine Möglichkeit
04.02.2009 20:02:00
Tino
Hallo,
hier noch eine Version.
Sub TestSuche()
Dim Bereich As Range
Dim LRow As Long, Anzahl As Long, Zeile
Dim Wert1, Wert2
Dim Gefunden As Boolean

Wert1 = Sheets("Tabelle2").Range("A1")
Wert2 = Sheets("Tabelle2").Range("B1")

With Sheets("Tabelle1")

Set Bereich = .Range("A1", .Cells(.Rows.Count, 2).End(xlUp).Offset(0, -1))
Anzahl = Application.WorksheetFunction.CountIf(Bereich, Wert1)
    
    For LRow = 1 To Anzahl
    
        Zeile = Application.Match(Wert1, Bereich, 0)
        If IsNumeric(Zeile) Then
           
           Anzahl = IIf(LRow = 1, Zeile, Anzahl + Zeile)
             
             If .Cells(Anzahl, 2) = Wert2 Then
              .Select
              .Cells(Anzahl, 1).EntireRow.Select
               Gefunden = True
               Exit For
             Else
              Set Bereich = .Range(Bereich.Offset(Zeile, 0), Bereich(Bereich.Cells.Count))
              Zeile = Application.Match(Wert1, Bereich, 0)
             End If
            
        End If
    
    Next LRow

End With
If Gefunden = False Then MsgBox "wurde nicht gefunden!"
End Sub


Gruß Tino

Anzeige
AW: und noch eine Möglichkeit
04.02.2009 21:06:16
Krisam
Hallo.
Danke für das Makro.
Genau die Lösung meines Problems.
Kannst du mir noch verraten, wie ich nicht die ganze Zeile markiere, sondern nur die Spalte C in der gefundene Zeile.
Danke nochmal.
AW: und noch eine Möglichkeit
04.02.2009 21:14:44
Tino
Hallo,
bin auf dem weg zur arbeit, schreibe vom pocket, kann erst morgen früh antworten.
Gruß Tino
AW: C auswählen
04.02.2009 21:35:52
Gerd
Hallo Anton,
das fett Markierte ändern,
.....................................................................
If .Cells(Anzahl, 2) = Wert2 Then
.Select
.Cells(Anzahl, 3).Select

Gefunden = True
Exit For
Else
.....................................................................
Gruß Gerd
Anzeige
Gerd hat zwar die Antwort schon gegeben...
05.02.2009 07:42:38
Tino
Hallo,
, dennoch hier der komplette Code.
Sub TestSuche()
Dim Bereich As Range
Dim LRow As Long, Anzahl As Long, Zeile
Dim Wert1, Wert2
Dim Gefunden As Boolean

Wert1 = Sheets("Tabelle2").Range("A1")
Wert2 = Sheets("Tabelle2").Range("B1")

With Sheets("Tabelle1")

Set Bereich = .Range("A1", .Cells(.Rows.Count, 2).End(xlUp).Offset(0, -1))
Anzahl = Application.WorksheetFunction.CountIf(Bereich, Wert1)
    
    For LRow = 1 To Anzahl
    
        Zeile = Application.Match(Wert1, Bereich, 0)
        If IsNumeric(Zeile) Then
           
           Anzahl = IIf(LRow = 1, Zeile, Anzahl + Zeile)
             
             If .Cells(Anzahl, 2) = Wert2 Then
              .Select
              .Cells(Anzahl, 3).Select
               Gefunden = True
               Exit For
             Else
              Set Bereich = .Range(Bereich.Offset(Zeile, 0), Bereich(Bereich.Cells.Count))
              Zeile = Application.Match(Wert1, Bereich, 0)
             End If
            
        End If
    
    Next LRow

End With
If Gefunden = False Then MsgBox "wurde nicht gefunden!"
End Sub


Gruß Tino

Anzeige
AW: Gerd hat zwar die Antwort schon gegeben...
05.02.2009 20:07:41
Krisam
Danke.
Mit diesem Code kann ich mein Programm fertig machen.
Bye
danke für die Rückmeldung oT.
06.02.2009 07:34:00
Tino

32 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige