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

Welche formel für Übertrag??

Welche formel für Übertrag?
10.06.2004 14:35:16
Lorenz
Hallo zusammen!
Es soll überprüft werden, ob die jeweiligen Artikel aus Spalte A30:A111, A145:A160 in den Tabellen "Tabelle 1, Tabelle 2, Tabelle 3 vorhanden sind. Wenn ja, ist der Artikel in Tabelle 10 Zeile 1 einzutragen. Die Reihenfolge ist ohne Relevanz.
Danke im voraus!
Gruss Lorenz
AW: Welche formel für Übertrag?
Beni
Hallo Lorenz,
der Wert wird nur übertragen, wenn er in allen drei Tabellen vorhanden ist.
Gruss Beni

Sub Suchen_und_eintragen()
Dim a, b, i, j, r, s As Integer
Dim Wert As Variant
Dim c As Range
For a = 30 To 111
Wert = Cells(a, 1).Value
j = 0
For s = 1 To 3
Set c = Sheets(s).Cells.Find(Wert, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then j = j + 1
Next s
r = Sheets("Tabelle10").Cells(65536, 1).End(xlUp).Row + 1
If j = 3 Then Sheets("Tabelle10").Cells(r, 1) = Cells(a, 1).Value
Next a
For b = 145 To 160
Wert = Cells(b, 1).Value
j = 0
For s = 1 To 3
Set c = Sheets(s).Cells.Find(Wert, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then j = j + 1
Next s
r = Sheets("Tabelle10").Cells(65536, 1).End(xlUp).Row + 1
If j = 3 Then Sheets("Tabelle10").Cells(r, 1) = Cells(b, 1).Value
Next b
End Sub

Anzeige
AW: Welche formel für Übertrag?
Lorenz
Hallo Beni!
Leider kann ich`s so nicht verwenden, weil in der Tabelle 10 der verlangte Eintrag als weitere Grundlage für div Summen u. Berechnungen verwendet wird. Und zwar auch dann wenn der Wert in nur einer der drei anderen Tabellen vorkommt.
viele Grüsse Lorenz
AW: Welche formel für Übertrag?
Beni
Hallo Lorenz,
der Wert wird übertragen, wenn er in einem oder mehreren der drei Tabellen vorhanden ist.
Gruss Beni

Sub Suchen_und_eintragen()
Dim a, b, i, j, r, s As Integer
Dim Wert As Variant
Dim c As Range
For a = 30 To 111
Wert = Cells(a, 1).Value
j = 0
For s = 1 To 3
Set c = Sheets(s).Cells.Find(Wert, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then j = j + 1
Next s
r = Sheets("Tabelle10").Cells(65536, 1).End(xlUp).Row + 1
If j > 0 Then Sheets("Tabelle10").Cells(r, 1) = Cells(a, 1).Value
Next a
For b = 145 To 160
Wert = Cells(b, 1).Value
j = 0
For s = 1 To 3
Set c = Sheets(s).Cells.Find(Wert, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then j = j + 1
Next s
r = Sheets("Tabelle10").Cells(65536, 1).End(xlUp).Row + 1
If j > 0 Then Sheets("Tabelle10").Cells(r, 1) = Cells(b, 1).Value
Next b
End Sub

Anzeige
AW: Welche formel für Übertrag?
Lorenz
Hallo Beni!
Funzt wunderbar! Eine kleine Bitte trotzdem noch:
wie muss der Code ausschauen,daß er auch arbeitet wenn die Tabelle 10 activ ist?
So wie du ihn geschrieben hast gehts nur richtig wenn Tabelle1 aktiviert ist.
Danke u. Gruss Lorenz.
AW: Welche formel für Übertrag?
Lorenz
Hallo Beni!
PS:
Überträgt überhaupt nur die Werte aus aktivem Sheet.
Grüsse Lorenz!
AW: Welche formel für Übertrag?
Beni
Hallo Lorenz,
Du hast geschrieben "ob die jeweiligen Artikel aus Spalte A30:A111, A145:A160 in den Tabellen "Tabelle 1, Tabelle 2, Tabelle 3 vorhanden sind" in welcher Tabelle sind den die Werte, von denen Du ausgehst?
Gruss Beni
Anzeige
AW: Welche formel für Übertrag?
Lorenz
Hallo Beni!
Die Werte, von denen ausgegangen wird werden zu verschiedenen Zeitpunkten in einer der drei Tabellen (Tabelle1, Tabelle2, Tabelle3) in den genannten Bereichen eingetragen.
Eine Vorgabe in Form von Liste oder dergleichen gibt es nicht.
Grüsse Lorenz
AW: Welche formel für Übertrag?
Beni
Hallo Lorenz,
ich hoffe dass ich Dich richtig verstanden habe.
Dieses Makro durchläuft alle drei Tabellen und überträgt die Werte, die zusätzlich in einer der zwei anderen Tabellen vorhanden sind.
Gruss Beni

Sub Suchen_und_eintragen()
Dim a, b, i, j, r, s, t As Integer
Dim Wert As Variant
Dim c As Range
For t = 1 To 3
For a = 30 To 111
Wert = Sheets(t).Cells(a, 1).Value
j = 0
For s = 1 To 3
Set c = Sheets(s).Cells.Find(Wert, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing And t <> s Then j = j + 1
Next s
r = Sheets("Tabelle10").Cells(65536, 1).End(xlUp).Row + 1
Set w = Sheets("Tabelle10").Columns(1).Find(Wert, LookIn:=xlValues, LookAt:=xlWhole)
If w Is Nothing And j > 0 Then Sheets("Tabelle10").Cells(r, 1) = Wert
Next a
For b = 145 To 160
Wert = Sheets(t).Cells(b, 1).Value
j = 0
For s = 1 To 3
Set c = Sheets(s).Cells.Find(Wert, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing And t <> s Then j = j + 1
Next s
r = Sheets("Tabelle10").Cells(65536, 1).End(xlUp).Row + 1
Set w = Sheets("Tabelle10").Columns(1).Find(Wert, LookIn:=xlValues, LookAt:=xlWhole)
If w Is Nothing And j > 0 Then Sheets("Tabelle10").Cells(r, 1) = Wert
Next b
Next t
End Sub

Anzeige
AW: Welche formel für Übertrag?
Lorenz
Hallo Beni!
Nicht zusätzlich, sondern wenn sie in allen drei Tabellen vorkommen!
(es sind ja tatsächlich 31 Tabellen, aber aus 1 to 3 mach ich 1 to 31)
PS: (eintragen bitte aber nur wenn Wert nicht schon in Tabelle10 vorhanden)
viele Grüsse Lorenz(der lästige)!
AW: Welche formel für Übertrag?
Beni
Hallo Lorenz,
am Anfang hast Du nur von 3 Tabellen geschrieben und jetzt sind es plötzlich 31, so wird dieser Code nicht funktionieren, weil For s = 1 To 31 zählt die Tabellen von 1 - 31, das s ist die variable Tabellen-Nr Set c = Sheets(s), die Tabelle10 steckt hier mittendrinn.
Gruss Beni
AW: Welche formel für Übertrag?
Lorenz
Hallo Beni!
Ich nannte anfangs nur 3 Tabellen, da ich die Angaben als Muster gedacht hatte.
den Code habe ich probiert selbst anzupassen.
tatsächliche Blätter = "1.", "2.", "3.", "4.", "5.", .....bis "31.", sowie das Blatt Ausmass.

Sub Suchen_und_eintragen()
Dim a, b, i, j, r, s, t As Integer
Dim Wert As Variant
Dim c As Range
For t = 1 To 31 & "."
For a = 30 To 111
Wert = Sheets(t).Cells(a, 1).Value
j = 0
For s = 1 To 31 & "."
Set c = Sheets(s).Cells.Find(Wert, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing And t <> s Then j = j + 1
Next s
r = Sheets("Ausmass").Cells(65536, 1).End(xlUp).Row + 1
Set w = Sheets("Ausmass").Columns(1).Find(Wert, LookIn:=xlValues, LookAt:=xlWhole)
If w Is Nothing And j > 0 Then Sheets("Ausmass").Cells(r, 1) = Wert
Next a
For b = 145 To 160
Wert = Sheets(t).Cells(b, 1).Value
j = 0
For s = 1 To 31 & "."
Set c = Sheets(s).Cells.Find(Wert, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing And t <> s Then j = j + 1
Next s
r = Sheets("Ausmass").Cells(65536, 1).End(xlUp).Row + 1
Set w = Sheets("Ausmass").Columns(1).Find(Wert, LookIn:=xlValues, LookAt:=xlWhole)
If w Is Nothing And j > 0 Then Sheets("Ausmass").Cells(r, 1) = Wert
Next b
Next t
End Sub

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige