Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
428to432
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
428to432
428to432
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
In Spalte "M" Suchen &gefundene Zellen kopieren
22.05.2004 04:23:21
Stefan
Ich suche in Spalte "M" nach einem Wert das in Tabelle2 A1 steht.
Die gefundenen Zellen sollen markiert werden.
Meine Tabelle ist von A:N
Ich hoffe das ihr mir weiterhelfen könnt.
Danke im voraus : )

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: In Spalte "M" Suchen &gefundene Zellen kopieren
Josef
Hallo Stefan!
Das geht mit bedingter Formatierung!
Wenn der Wert der markiert werden soll auf der selben
Tabelle steht, dann Spalte "M" auswählen und unter
Format &gt Bedingte Formatierung &gt Formel= "=M1=$A$1" &gt Format auswählen.
Wenn der Wert auf einem anderen Tabellenblatt steht, dann dieser Zelle einen
Namen vergeben, z.B. "meineZelle" und als Formel= "=M1=meineZelle".
Gruß Sepp
AW: In Spalte "M" Suchen &gefundene Zellen kopieren
22.05.2004 12:15:45
Stefan
Guten Tag.
Leider ist das nicht was ich gesucht habe.
Super währe es wenn ich mit einem Macro suchen könnte.
Ich suche in Spalte "M" nach einem Wert das in Tabelle2 A1 steht.
Die gefundenen Zellen sollen markiert werden.
Meine Tabelle ist von A:N
Gruss Stefan
Anzeige
AW: In Spalte "M" Suchen &gefundene Zellen kopieren
22.05.2004 12:20:52
Josef
Hallo Stefean!
Aber genau das macht doch mein Vorschlag!
Du sagst "Ich suche in Spalte "M" nach einem Wert das in Tabelle2 A1 steht."
und "Meine Tabelle ist von A:N"
wenn du in Spalte "M" suchst, ist es doch egal wie groß deine Tabelle ist!
Gruß Sepp
AW: In Spalte "M" Suchen &gefundene Zellen kopieren
22.05.2004 12:45:00
Stefan
Hallo Sep
Ich habe mich nicht ganz ausführlich ausgedruckt sorry.
Mein Problem ist es.
Ich habe eine Tabelle in dem ich eine Lagerverwaltung durchführe. (A:N)
In Spalte M ist der Lagerort.
Wenn ich schauen will was im Lagerort 4 ist.
In Tabelle2 A1 4 eingeben mit macro in der Lagerverwaltung M danach suchen,alle gefundenen Zellen kopieren und in Tabelle3 ab A3 einfügen.
(Tabelle 3 wird dan in einer Userform Listbox angezeigt)Das mit der Userform klappt!
Weist du einen Rat Sep?
Anzeige
Nachfrage?
22.05.2004 13:15:16
Josef
Hallo Stefan!
Ich verstehe jetzt was du willst!
Aber welche Zellen sollen in "Tabelle3" kopiert werden?
Nur eine bestimmte Zelle, oder die komplette Zeile von "A" bis "N"?
Mit etwas mehr Info, kann ich dir sicher helfen!
Gruß Sepp
AW: Nachfrage?
22.05.2004 13:30:13
Stefan
Hallo Sep
Ich bin jetzt den ganzen morgen am PC und versuche dieses Makro zu finden.
Das macro könnte mir in verschiedenen fellen sehr hilfreich sein!!
Wenn in Spalte "M" Wert(e) gefunden ist die komplette Zeile von "A" bis "N" kopieren und in Tabelle 3 ab A3 einfügen.
Bin sehr gespannt!!!
AW: Nachfrage?
22.05.2004 13:40:04
Josef
Hallo Stefan!
Kopiere diesen Code in das Modul der "Tabelle2".
(Rechtsklick auf Tabellenregister &gt Code anzeigen &gt in das Codefenster eintragen)
Bei einer änderung der Zelle "A1" in "Tabelle2" wird das Makro ausgeführt!
Wenn du das Makro lieber Manuell über einen Button starten willst,
dann einfach den Code (ohne erste und letzte Zeile, in das "Click" - Ereignis
des Buttons kopieren!

' **************************************************************
' Modul: Tabelle2 Typ = Element der Mappe(Sheet, Workbook, ...)
' **************************************************************

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim wksQ As Worksheet
Dim wksZ As Worksheet
Dim rng As Range
Dim sFirst As String
Dim lngC As Long
If Target.Address <> "$A$1" Then Exit Sub
'Nur bei Eintrag in "A1" ausführen, sonst Makro verlassen
Set wksQ = Sheets("Tabelle1") 'Tabelle mit Lagerverwaltung, Name anpassen
Set wksZ = Sheets("Tabelle3") 'Tabelle für Ausgabe, Name anpassen
lngC = 3 'Zeilenzähler für den Eintrag in wksZ
wksZ.Range("A3:N65536").ClearContents 'Bereich löschen
Set rng = wksQ.Columns("M").Find(What:=Target, LookIn:=xlValues, _
LookAt:=xlWhole, After:=wksZ.Range("M65536"))
'Suche in Spalte "M" in wksQ
If Not rng Is Nothing Then
sFirst = rng.Address 'Adresse der ersten Fundstelle
With wksQ
.Range(.Cells(rng.Row, 1), .Cells(rng.Row, 14)).Copy wksZ.Cells(lngC, 1)
'bei erfolgreicher Suche, Zeile kpoieren und in wksZ ab "A3" eintragen
End With
lngC = lngC + 1 'Zeilenzähler erhöhen
Do 'schleife für Suche nach weiteren Fundstellen
Set rng = wksQ.Columns("M").FindNext(After:=rng)
'Weitersuchen
If rng.Address = sFirst Then Exit Sub
'wenn bei erster Fundstelle angelangt, Suche beenden
If Not rng Is Nothing Then
With wksQ
.Range(.Cells(rng.Row, 1), .Cells(rng.Row, 14)).Copy wksZ.Cells(lngC, 1)
End With
lngC = lngC + 1
End If
Loop
End If
End Sub

Gruß Sepp
Anzeige
AW: Nachfrage?
22.05.2004 14:02:34
Stefan
Hallo Sep!
Ich hab es in beiden Varianten probiert.
Habe es in die Tabelle 2 eingefügt. Es klappt!!
Habe es in ein Modul eingefügt. Es kommt die fehlermeldung.
Gelber Streifen: If Target .Address "$A$1" Then Exit Sub
Muss ich in einer bestimmten Tabelle sein und von dort aus das Makro starten?
Sorry mein Fehler!
22.05.2004 14:16:49
Josef
Hallo Stefan!
Sorry das war mein Fehler!
In einem Modul muss es so sein.

Sub suchen()
Dim wksQ As Worksheet
Dim wksZ As Worksheet
Dim rng As Range
Dim sFirst As String
Dim lngC As Long
Dim sFind As String
sFind = Sheets("Tabelle2").Range("A1") 'Tabellenname anpassen
Set wksQ = Sheets("Tabelle1") 'Tabelle mit Lagerverwaltung, Name anpassen
Set wksZ = Sheets("Tabelle3") 'Tabelle für Ausgabe, Name anpassen
lngC = 3 'Zeilenzähler für den Eintrag in wksZ
wksZ.Range("A3:N65536").ClearContents 'Bereich löschen
Set rng = wksQ.Columns("M").Find(What:=sFind, LookIn:=xlValues, _
LookAt:=xlWhole, After:=wksZ.Range("M65536"))
'Suche in Spalte "M" in wksQ
If Not rng Is Nothing Then
sFirst = rng.Address 'Adresse der ersten Fundstelle
With wksQ
.Range(.Cells(rng.Row, 1), .Cells(rng.Row, 14)).Copy wksZ.Cells(lngC, 1)
'bei erfolgreicher Suche, Zeile kpoieren und in wksZ ab "A3" eintragen
End With
lngC = lngC + 1 'Zeilenzähler erhöhen
Do 'schleife für Suche nach weiteren Fundstellen
Set rng = wksQ.Columns("M").FindNext(After:=rng)
'Weitersuchen
If rng.Address = sFirst Then Exit Do
'wenn bei erster Fundstelle angelangt, Suche beenden
If Not rng Is Nothing Then
With wksQ
.Range(.Cells(rng.Row, 1), .Cells(rng.Row, 14)).Copy wksZ.Cells(lngC, 1)
End With
lngC = lngC + 1
End If
Loop
Else
wksZ.Cells(lngC, 1) = "Kein Treffer!"
End If
End Sub

Gruß Sepp
Anzeige
AW: Sorry mein Fehler!
22.05.2004 14:28:13
Stefan
Jupiiiiiiiiiiii!!
Jetzt klappts!!
Vielen Dank Sep.Du hast mir sehr geholfen!!
Jetzt kann ich erleichtert in ein Cafe : )
Wünsche dir ein schönes Wochenende.

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige