Hallo,
ich habe sie getestet, aber Excel akzeptiert sie nicht.
Allerdings habe ich die Sache inzwischen selbst hingekriegt.
Hier der Code der funktioniert; ich habe ihn an meinen Originalcode angepasst (Variablen in frz.)
Code:
ActiveCell.FormulaR1C1 = _
"=IF(OR(R[0]C[-74]=""/"",ISNA(HLOOKUP(R[0]C[-73],INDIRECT(R[0]C[-72]&""!B1:v29""),29,0))),"""",HLOOKUP(R[0]C[-73],INDIRECT(R[0]C[-72]&""!B1:v29""),29,0))"
Range("BW" & prem_ligne_vide_BW).Select
Selection.AutoFill Destination:=Range("BW" & prem_ligne_vide_BW & ":BW" & dern_ligne_remplie_A), Type:=xlFillDefault
Danke für eure Hilfe.
Uebrigens war das Problem ...R[1]... das bewirkte, dass die Referenzen immer um 1 Zeile versetzt waren. Ich habe es durch ...R[0]... ersetzt und es funktioniert.
Ein weiteres Problem hatte ich, wenn noch nichts ausser die Ueberschrift in BW1 in BW war und die erste freie Zelle war dann größer als BW1000000, d.h. die letzt mögliche Zeile. Ich habe die Sache schließlich auf eine nicht so elegante Weise gelöst: die erste Zeile der Datenbank ist die Zeile 2 und ich habe festgestellt dass der Code auch bei leerer Datenbank funktioniert wenn ich ein einfaches unsichtbares Leerzeichen in BW2 eingebe. Das habe ich dann per VBA gemacht, allerdings wird es jedes Mal gemacht wo der Code gestartet wird.
Ich habe mit
Code:
If IsEmpty(Range("BW3").Value) = True Then [ist die erste Zelle die BW3]
aber das habe ich nicht hingekriegt.
Was ich jetzt noch brauche, ist ein Code, der dem Benutzer die Möglichkeit gibt, eine Datei zum Oeffnen auszuwählen. Sie sind im selben Ordner wie die Datei mit dem Code und heißen 1.xls bis 12.xls. Sie stellen die Monate dar und sind daher nicht das ganze Jahr alle präsent; wenn es z.B. schon 1.xls, 2.xls und 3.xls gibt, wird 4.xls Anfang Mai eingefügt.
Ich stelle mir es so vor:
Der Nutzer drückt auf einen Knopf und ihm werden die vorhandenen Dateien angezeigt aus denen er die richtige auswählt.
Ich habe keine Ahnung, wie ich das anfangen soll, um einen funktionierenden Code zustande zu bringen.
MfG
Alooha