Das Archiv des Excel-Forums
Mehrfache Abfrage
Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Betrifft: Mehrfache Abfrage
von: Norb
Geschrieben am: 22.09.2003 16:30:33
Hallo Profis
Ich habe zwei Tabellen mit unterschiedlichen Daten. In einer dritten Tabelle sollen nur diese Daten eingetragen werden, die bestimmte Kriterien erfüllen.
In Worten soll es etwa so aussehen:
Wenn Zelle1 < Zelle2 und Zelle3 > Zelle4 und Zelle5=Zelle6, dann übertrage den Inhalt von Zelle7 in die nächste frei Zelle dieser (3.)Tabelle (Spalte)
Kann mir irgendjemand sagen, wie hierzu die Syntax aussehen soll?
Oder ist dies nur mit VBA zu lösen?
Vielen Dank mal, Jungs...
Gruß Norb
Betrifft: AW: Mehrfache Abfrage
von: Guido Palacios
Geschrieben am: 22.09.2003 16:44:44
In VBA würde das ungefäir wie folgt aussehen:
---------------------------------------------
private sub
if tabelle1.cells(1,1) < tabelle1.cells(2,1) AND tabelle1.cells(3,1) > tabelle1.cells(4,1) AND tabelle1.cells(5,1) = tabelle2.cells(6,1) then
"tabelle3.cells(1,1) = tabelle1.cells(7,1)" oder "Ergebnis = tabelle1.cells(7,1)
tabelle3.cells(1,1) = Ergebnis"
endif
end sub
---------------------------------------------
Auf Tabellenblatt1 befindet sich: Zelle 1,2,3,4,5,7
Auf Tabellenblatt2 befindet sich: Zelle 6
Auf Tabellenblatt2 befindet sich: Zelle Ergebniss
Hoffe ich konnte helfen!
Guido
Betrifft: AW: Mehrfache Abfrage
von: Norb
Geschrieben am: 22.09.2003 17:10:09
Hallo Guido.
Mit Deinem VBA-Vorschlag könnte es wahrscheinlich hinhauen, aber ich hab grad festgestellt, das ich das Problem etwas anders darstellen muss. Es sollen nämlich nicht nur einzelne Zellen abgefragt werden sondern ganze Spalten bzw. Datenbereiche.
Also eher so...
Wenn du in Spalte 4 der Tabelle 2 einen Wert findest, der Kleiner ist als der Vergleichswert X in Tabelle 1, dann schreibe den Inhalt der Spalte 1 dieser zeile (von Tabelle 2) in die nächste freie Zeile der Ergebnistabelle.
Vielleicht kann mir ja irgendjemand folgen ?
Trotzdem mal Danke, Guido !!!
Gruß Norb.
Betrifft: AW: Mehrfache Abfrage
von: Guido Palacios
Geschrieben am: 22.09.2003 17:30:19
Hoi!!
Aso!!
Dann wie folgt:
----------------------------------
private sub
dim i as integer
dim zeile as integer
zeile = 1
for i = 1 to 65536 '(letzte Zeile)
if tabelle2.cells(i, 4) < tabelle1.cells(1,1) then
if not isnull(tabelle3.cells(zeile, 1)) = true then
tabelle3.cells(zeile,1) = tabelle2.cells(i, 1)
zeile = zeile + 1
else
endif
else
exit sub
endif
next i
end sub
-------------------------------
Glaube so müsste es jetzt richtig sein!!!
CYA
Betrifft: AW: Mehrfache Abfrage
von: Norb
Geschrieben am: 23.09.2003 12:19:03
Hi.
Also erstmal Dankeschön für deine Hilfe.
Ich hab nun im ersten Arbeitsblatt nen Command Button platziert, der diese Aktion auslösen soll und habe dort den Code ensprechend eingegeben. Allerdings regt sich leider noch gar nix...
Vielleicht hast Du ja ne Ahnung was ich falsch mach ?!
Gruß Norb
Betrifft: AW: Mehrfache Abfrage
von: Guido Palacios
Geschrieben am: 23.09.2003 13:32:52
Ich bräuchte noch genaue Fehlermeldungen....
als ich es bei mir eingab kam eine Überlauf meldung (wegen falschen Datentyp long statt int) und bei mir auch nur 1 Tabellenblatt vorhanden...
Folgende Änderung:
-----------------------------------
Private Sub CommandButton1_Click()
Dim i As Long
Dim zeile As Integer
zeile = 1
For i = 1 To 100 '(65536 letzte Zeile)
If Tabelle2.Cells(i, 4) < Tabelle1.Cells(1, 1) Then
If Not IsNull(Tabelle3.Cells(zeile, 1)) = True Then
Tabelle3.Cells(zeile, 1) = Tabelle2.Cells(i, 1)
zeile = zeile + 1
Else
End If
Else
Exit Sub
End If
Next i
End Sub
-------------------------------
so...
stell sicher das du auch 3 Tabellenblätter hast.
Dann geb im Tabellenblatt1 von A1-A5 "1-5" ein und
im Tabellenblatt2 von A1-A5 "5-1" ein...
Dann Click Button Drücken und auf Tabellenblatt3 ergebnis ankucken...
Es wird dann im Tabellenblatt3 A1-A5 mit 1-5 belegt...
Betrifft: AW: Mehrfache Abfrage
von: Norb
Geschrieben am: 23.09.2003 13:38:11
Danke, so funkts...
Gruß Norb
Excel-Beispiele zum Thema " Mehrfache Abfrage"