Supportnet / Forum / Tabellenkalkulation
gleiche Werte aus Tabelle 1 suchen und in Tabelle 2 kopieren
Frage
Hallo,
ich brauch mal wieder Eure Hilfe!!!
Ich hab eine Tabelle bekommen, die ich leider nicht verädern kann. In Spalte A stehen Artikelnummern von Baugruppen untereinander weg. in den Spalten C bis AV stehen Ersatzteilnummern die in die Baugruppen gehören, z.B. in Spalte I steht als Überschrift "Schraube" und darunter folgen die verschiedene Artikelnummen passend zu Spalte A den Baugruppen. Der großen Vielzahl der Baugruppen können sich die Artikelnummern hier im Beispiel Schraube wiederholen. So können verschiedene Baugruppen die gleich Schraube haben.
Jetzt mein Problem. Ich möchte in einer zweiten Tabelle in Zelle A1 einfach eine Artikelnummer aus Spalte I (Schraube ) eingeben und dann sollen alle Nummern der Baugruppen aus Tabelle 1 aus Spalte A indem die Artikelnummer vorkommt herausschreiben, sodas man sehen kann in welche Baugruppen die Schraube passt.
Vielen Dank für Eure Hilfe!!!
Gruß
Elhamplo
Antwort 1 von Saarbauer
Hallo,
müsste auf jeden fall mit VBA zu machen sein, vielleicht auch so.
Könntest du eine Beispieltabelle zur Verfügung stellen?
Gruß
Helmut
müsste auf jeden fall mit VBA zu machen sein, vielleicht auch so.
Könntest du eine Beispieltabelle zur Verfügung stellen?
Gruß
Helmut
Antwort 2 von Elhamplo
Hallo Saarbauer,
wie kann ich denn eine Beispieltabelle bereitstellen??
Gruß
Elhamplo
wie kann ich denn eine Beispieltabelle bereitstellen??
Gruß
Elhamplo
Antwort 3 von JoeKe
Hallo Elhamplo,
mit VBA so:
Option Explicit
Sub ArtNr()
Dim varSuche As Variant, rngZelle As Range
varSuche = Worksheets("Tabelle2").Range("A1")
For Each rngZelle In Worksheets("Tabelle1").UsedRange
If rngZelle = varSuche Then
Worksheets("Tabelle1").Cells(rngZelle.Row, 1).Copy _
Destination:=Worksheets("Tabelle2").Cells(Rows.Count, 2).End(xlUp).Offset(1, 0)
End If
Next
End Sub
Gruß
JöKe
mit VBA so:
Option Explicit
Sub ArtNr()
Dim varSuche As Variant, rngZelle As Range
varSuche = Worksheets("Tabelle2").Range("A1")
For Each rngZelle In Worksheets("Tabelle1").UsedRange
If rngZelle = varSuche Then
Worksheets("Tabelle1").Cells(rngZelle.Row, 1).Copy _
Destination:=Worksheets("Tabelle2").Cells(Rows.Count, 2).End(xlUp).Offset(1, 0)
End If
Next
End Sub
Gruß
JöKe
Antwort 4 von Saarbauer
Hallo,
hat sich durch @JöKe´s Hilfe wahrscheinlich erledigt,
aber du hättest mir deine Email-Adresse mitteilen können oder es gibt im Internet auch Bereiche in die solche Dateien kostenlos einzustellen sind und per link zu öffnen sind (habe leider im Moment keine entsprechende Seite zur Hand)
Gruß
Helmut
hat sich durch @JöKe´s Hilfe wahrscheinlich erledigt,
aber du hättest mir deine Email-Adresse mitteilen können oder es gibt im Internet auch Bereiche in die solche Dateien kostenlos einzustellen sind und per link zu öffnen sind (habe leider im Moment keine entsprechende Seite zur Hand)
Gruß
Helmut
Antwort 5 von JoeKe
Antwort 6 von Elhamplo
Hallo JöKe ,
vielen Dank!!! Der Code ist super.
Wie muss ich den Code erweitern, das nicht der erste wert in B2 steht sondern in C4???
Vielen Dank fü Deine Mühe!!!
@ Saarauer
Danke, hätte ich auch selber drauf kommen können. Ich dank Dir für Deine Mühe!!!
Gruß
Elhamplo
vielen Dank!!! Der Code ist super.
Wie muss ich den Code erweitern, das nicht der erste wert in B2 steht sondern in C4???
Vielen Dank fü Deine Mühe!!!
@ Saarauer
Danke, hätte ich auch selber drauf kommen können. Ich dank Dir für Deine Mühe!!!
Gruß
Elhamplo
Antwort 7 von JoeKe
Hallo Elhamplo,
folgender Code kopiert die Treffer nach C4 abwärts.
Option Explicit
Sub ArtNr()
Dim varSuche As Variant, rngZelle As Range, loZiel As Long
varSuche = Worksheets("Tabelle2").Range("A1")
loZiel = 4
For Each rngZelle In Worksheets("Tabelle1").UsedRange
If rngZelle = varSuche Then
Worksheets("Tabelle1").Cells(rngZelle.Row, 1).Copy _
Destination:=Worksheets("Tabelle2").Cells(loZiel, 3)
loZiel = loZiel + 1
End If
Next
End Sub
Gruß
JöKe
folgender Code kopiert die Treffer nach C4 abwärts.
Option Explicit
Sub ArtNr()
Dim varSuche As Variant, rngZelle As Range, loZiel As Long
varSuche = Worksheets("Tabelle2").Range("A1")
loZiel = 4
For Each rngZelle In Worksheets("Tabelle1").UsedRange
If rngZelle = varSuche Then
Worksheets("Tabelle1").Cells(rngZelle.Row, 1).Copy _
Destination:=Worksheets("Tabelle2").Cells(loZiel, 3)
loZiel = loZiel + 1
End If
Next
End Sub
Gruß
JöKe
Antwort 8 von Elhamplo
Hallo JöKe,
Ich sach nur super, super, super!!!!
Danke für die Hilfe. Der Code ist klasse!!!
Danke für die Mühe!!!!
Gruß
Elhamplo
Ich sach nur super, super, super!!!!
Danke für die Hilfe. Der Code ist klasse!!!
Danke für die Mühe!!!!
Gruß
Elhamplo
Antwort 9 von MRx
Hallo an Alle :)
ich hätt da auch ein Problem - und zwar folgendes:
ich habe in Spalte A - Nummern von 1 bis 175 - die sind fix.
In Spalte C habe ich die selben Nummern aber nicht alle und immer in unterschiedlichen Reihenfolgen - und in Spalte D habe ich den dazugehörigen Wert - kompliziert ich weiss :)
aber vielleicht wirds mit ´nem Beispiel klarer.
Spalte A:
1
2
3
4
5
Spalte C:
3
5
Spalte D
zu 3 ein Wert von 50
zu 4 ein Wert von 30
also wenn Spalte A und C übereinstimmen soll es den Wert von D übernehmen ansonsten soll Null stehn.
Ich habe die Formel versucht: WENN((A1=C1);D1;0)*oder(A1=C2);D2;0) usw.....
doch leider nimmt er immer nur die 1.Formel und die 2. ignoriert er .... bei einer Übereinstimmung soll er den Wert von D nehmen und als Vergleichswert muß A mit C verglichen werden um D einfügen zu können.
Ich hoffe es kann mir jemand helfen :(
Danke
ich hätt da auch ein Problem - und zwar folgendes:
ich habe in Spalte A - Nummern von 1 bis 175 - die sind fix.
In Spalte C habe ich die selben Nummern aber nicht alle und immer in unterschiedlichen Reihenfolgen - und in Spalte D habe ich den dazugehörigen Wert - kompliziert ich weiss :)
aber vielleicht wirds mit ´nem Beispiel klarer.
Spalte A:
1
2
3
4
5
Spalte C:
3
5
Spalte D
zu 3 ein Wert von 50
zu 4 ein Wert von 30
also wenn Spalte A und C übereinstimmen soll es den Wert von D übernehmen ansonsten soll Null stehn.
Ich habe die Formel versucht: WENN((A1=C1);D1;0)*oder(A1=C2);D2;0) usw.....
doch leider nimmt er immer nur die 1.Formel und die 2. ignoriert er .... bei einer Übereinstimmung soll er den Wert von D nehmen und als Vergleichswert muß A mit C verglichen werden um D einfügen zu können.
Ich hoffe es kann mir jemand helfen :(
Danke
Antwort 10 von Saarbauer
Hallo,
ganz verständlich ist es nichr, aber es könnte mit
=Summenprodukt($A$1:$A$175=C1)*($D$1:$D$175)
funktionieren.
Sonst wäre eine Beispieltabelle, die du hier einstellen
http://www.netupload.de/
Kannst nicht schlecht
Gruß
Helmut
ganz verständlich ist es nichr, aber es könnte mit
=Summenprodukt($A$1:$A$175=C1)*($D$1:$D$175)
funktionieren.
Sonst wäre eine Beispieltabelle, die du hier einstellen
http://www.netupload.de/
Kannst nicht schlecht
Gruß
Helmut