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

Wenn SVerweis per VBA

Wenn SVerweis per VBA
06.05.2007 15:08:51
kirsche
hallo leute,
ich brauch mal wieder eure hilfe.
ich habe eine tabelle in welcher alle meine artikeldaten stehen, diese heißt stammdaten. in meiner eingabetabelle möchte ich anhand der artikelnummer die daten aus stammdaten auslesen. das funktioniert auch alles super mit einem einfachen sverweis per vba.
nun haben einige artikel aber keinen spezifischen lieferanten, den kann ich per hand nachtragen, dann soll allerdings nicht mehr in den stammdaten gesucht werden, sondern im lieferantenstamm.
in excel sieht meine formel so aus:
=WENN(UND(ISTZAHL(A2);ISTZAHL(SVERWEIS(A2;stammdaten;3;FALSCH)));SVERWEIS(A2;stammdaten;3;FALSCH); WENN(ISTZAHL(C2);SVERWEIS(C2;lieferantenstamm;1;FALSCH);""))
ich habe es mit dem recorder aufgezeichnet:
ActiveCell.FormulaR1C1 = _
"=IF(AND(ISNUMBER(RC[-3]),ISNUMBER(VLOOKUP(RC[-3],stammdaten,3,FALSE))),VLOOKUP(RC[-3],stammdaten,3,FALSE),IF(ISNUMBER(RC[-1]),VLOOKUP(RC[-1],lieferantenstamm,1,FALSE),""""))"
https://www.herber.de/bbs/user/42286.xls
bei der aufzeichnung liegt der bezug leider immer auf der aktiven zelle und ich habe keine ahnung wie ich dort eine variable einbauen soll, damit das makro immer reagiert, wenn in spalte C eine zahl steht.
Vielleicht kann mir ja jemand helfen.
gruss kirsche

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wenn SVerweis per VBA
06.05.2007 18:21:01
Daniel
Hallo
ich verstehe dein Problem nicht so ganz, vor allem warum und wie du überhaupt ein Makro einsetzen willst.
ich würde folgende Formel in Spalte D einsetzen:

=WENN(NICHT(ISTZAHL(A2));"";WENN(C2"";C2;SVERWEIS(A2;stammdaten;3;0)))


wenn ein manuelle Vorgabe in C besteht, wird diese verwendet, ansonten die Lieferanten-Nr über die Stammdaten.
Gruß, Daniel

AW: Wenn SVerweis per VBA
06.05.2007 22:55:00
Gerd
Hallo kirsche,
hat sich dein letzter Beitrag, der hier bereits gelöscht worden ist, erledigt?
Leider habe ich den letzten Code dazu nicht mehr.
Gruß Gerd

Anzeige
AW: Wenn SVerweis per VBA
07.05.2007 00:17:00
kirsche
hallo gerd,
warum wurde denn mein letzter beitrag gelöscht?
ich habe daniel nur geantwortet, das ich es per formel gelöst hatte, nur leider wird die datei dadurch sehr groß, weil die eingaben über einen ganzen monat laufen. die datei hat jetzt ohne werte schon 4 MB und das wollte ich durch vba verringern.
ich habe mit der online-recherche auch oftmals schwierigkeiten, denn die archivdateien werden als chache-datei angezeigt und ich komme an die beiträge nicht ran. weißt du vielleicht woran das liegen könnte?
das sieht dann immer so aus:
Dateiliste 812to816 18.10.2006 16:55:28 https://www.herber.de/forum ...
und drin steht dann:
Dateiliste 812to816 18.10.2006 16:55:28 armin.tue@web.de 18.10.2006 16:55:41 armin.tue@web.de 18.10.2006 17:30:49 Markus Portmann 18.10.2006 17:34:58 Lee-Roy 18.10.2006 17:48:12 Rolf 18.10.2006 18:01:04 Sasko 18.10.2006 19:00:04 Selma 18.10.2006 19:13:52 Lueckii 18.10.2006 19:36:19 Peter Schilling 18.10.2006 20:02:57 Rene 18.10.2006 20:48:00 Wolfgang 18.10.2006 21:01:12 Julia 18.10.2006
usw.....
an meinem browser kann es nicht liegen, ich habe drei andere bereits getestet. das ist auch nicht immer der fall, aber meistens. schieeeeffff
gruss dörte

Anzeige
Der Beitrag ist nicht gelöscht, sondern...
07.05.2007 01:59:53
Luc:-?
...im Archiv, wenn ihr den hier meint!
Gruß Luc :-?

AW: Der Beitrag ist nicht gelöscht, sondern...
07.05.2007 21:26:31
Gerd
Hallo Kirsche,
die Ergänzungsliefgerung.

Sub test()
Dim ez as long, lz as long, ez2 as long
ez= 6
lz= Cells(ez,1).End(xlDown).Row
ez2=lz+1
Range("A" & ez & ":A" & lz).AdvancedFilter Action:=xlFilterCopy, copytorange:= _
Range("A" & ez)2, unique:= True
Range("A" & ez2 & ":A" & cells(ez2,1).End(xlDown).Row).Sort _
key1:=Cells(ez2, 1), order1:=xlAscending, Header:=xlNo
While Not Isnumeric(Cells(Rows.count, 1).End(xlUp))
Cells(Rows.Count, 1).End(xlUp).Delete shift:=xlUp
Wend
End Sub


Gruß Gerd

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige