Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender Navigationstipps
Inhaltsverzeichnis

Abfrage verschiener Werte über mehrere Sheets

Abfrage verschiener Werte über mehrere Sheets
31.10.2013 10:25:46
Psy
Hallo zusammen,
sitze hier gerade vor einem Problem und komme mit meinen Kenntnissen nicht weiter. Habe es schon mit diversen IF-Anweisungen versucht, doch leider blieb ein 100% Erfolg aus. Nun hoffe ich, hier einen Ansatz zu erhalten, mit dem ich weiterarbeiten kann.
Beschreibung:
In Sheet 2 ab Zelle D2 bis ... stehen Länder (Anzahl variiert)
In Sheet 2 ab Zelle E2 bis ... stehe eine Zahl
In Sheet 7 steht in Zelle A1 der Kontinent und ab Zelle A2 abwärts die Länder
(Europa (A1), Nordamerika (B1), Südamerika (C1), Asien (D1), Afrika (E1), Australien (F1))
In Sheet 6 steht in Zelle A1 bis D1 als verbundene Zelle der Kontinentenname, angefangen mit
A1 bis D1 Europa
E1 bis H1 Nordamerika
usw...
In Sheet 6 Zelle A3 steht Land, in B3 Menge (Zahl aus Sheet 2) jeweils zum Kontinent.
A1 bis D1 Europa --> A3 Land, B3 Menge
E1 bis H1 Nordamerika --> E2 Land, F3 Menge
usw.
Nun versuche ich vergebens eine Syntax zu schreiben, die folgendes macht.
Wenn in Sheet 2 ab Zelle D2 ein Land steht, vergleich diesen mit Sheet 7, schaue welcher Kontinent es ist und schreibe diesen in Sheet 6, sofern die Zelle frei ist mit Menge (Zahl) in die Zelle.
Das klappt auch, sofern das Land im Sheet 7 vorhanden ist.
Syntax:

Sub Zuordnung_Kontinent_2012()
lrow2 = Sheets(2).UsedRange.Rows.Count
lrow7 = Sheets(7).UsedRange.Rows.Count
lcol7 = Sheets(7).UsedRange.Columns.Count
lcol6 = Sheets(6).UsedRange.Columns.Count
'vorhandene Länder den einzelnen Kontinenten zuordnen mit Anzahl der Fzg.
For a = 2 To lrow2
For b = 2 To lrow7
For c = 1 To lcol7
If Sheets(2).Cells(a, 4).Value = Sheets(7).Cells(b, c).Value Then
For d = 1 To lcol6
If Sheets(7).Cells(1, c).Value = Sheets(6).Cells(1, d).Value Then
For e = 4 To 1000
If Sheets(6).Cells(e, d).Value = Empty Then
Sheets(6).Cells(e, d).Value = Sheets(2).Cells(a, 4).Value
Sheets(6).Cells(e, d + 1).Value = Sheets(2).Cells(a, 5).Value
GoTo marke1
End If
Next e
End If
Next d
End If
Next c
Next b
marke1:
Next a
End Sub

Wenn ein Land aber NICHT in Sheet7 vorhanden ist, dann soll dieses im Sheet 6 ab Zelle Y4 (Land) und Z4 Menge (Zahl) untereinander aufgeschrieben werden.
An diesem Punkt hängt es gerade. Mir fehlt da ein vernüftiger und brauchbarer Ansatz.
Über Hilfe würde ich mich sehr freuen.
Grüße

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Abfrage verschiener Werte über mehrere Sheets
03.11.2013 00:19:05
fcs
Hallo Psy,
mit einem Merker, der den Gefunden-Status verwaltet, kann man nach erfolgloser Suche nach dem Land, die Ausgabe der Werte in die Spalten Y+Z steuern.
mfg
Franz
Sub Zuordnung_Kontinent_2012()
Dim bolGefunden As Boolean
lrow2 = Sheets(2).UsedRange.Rows.Count
lrow7 = Sheets(7).UsedRange.Rows.Count
lcol7 = Sheets(7).UsedRange.Columns.Count
lcol6 = Sheets(6).UsedRange.Columns.Count
'vorhandene Länder den einzelnen Kontinenten zuordnen mit Anzahl der Fzg.
For a = 2 To lrow2
bolGefunden = False
For b = 2 To lrow7
For c = 1 To lcol7
If Sheets(2).Cells(a, 4).Value = Sheets(7).Cells(b, c).Value Then
bolGefunden = True
For d = 1 To lcol6
If Sheets(7).Cells(1, c).Value = Sheets(6).Cells(1, d).Value Then
For e = 4 To 1000
If Sheets(6).Cells(e, d).Value = Empty Then
Sheets(6).Cells(e, d).Value = Sheets(2).Cells(a, 4).Value
Sheets(6).Cells(e, d + 1).Value = Sheets(2).Cells(a, 5).Value
GoTo marke1
End If
Next e
End If
Next d
End If
Next c
Next b
If bolGefunden = False Then
d = 25 'Spalte Y
For e = 4 To 1000
If Sheets(6).Cells(e, d).Value = Empty Then
Sheets(6).Cells(e, d).Value = Sheets(2).Cells(a, 4).Value
Sheets(6).Cells(e, d + 1).Value = Sheets(2).Cells(a, 5).Value
GoTo marke1
End If
Next e
End If
marke1:
Next a
End Sub

Anzeige
AW: Abfrage verschiener Werte über mehrere Sheets
05.11.2013 07:41:02
Psy
Morgen fcs,
sorry für die späte Antwort. Bin beschäftigt, beschäftigt, beschäftigt.
Vielen Dank für die Hilfe und um gleich zum Punkt zu kommen,
ES FUNKTIONIERT!!!! GENAU SO WOLLTE ICH DIES HABEN!!!!
Muss die Syntax stück für stück durchgehen, aber im Grunde sieht es "eigentlich" ganz einfach aus.
Vielen vielen Dank für die Hilfe. Top Arbeit und wieder etwas gelernt.
Grüße
Psy

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige