Forums Neueste Beiträge
 

VBA-Code allgemein gestalten

20/08/2009 - 12:06 von Benjamin | Report spam
Hallo liebe Community,

ich habe da eine Frage bzgl. meines VBA-Codes und wie ich diesen allgemeiner
gestalten kann.
Ich habe zwei Excel-Dateien. Die erste Excel-Datei enthàlt Zahlen eines
SAP-Berichts aufgelistet nach Kostenarten pro Monat. Die zweite Excel-Datei
enthàlt eine generelle Übersicht über alle Kostenarten und den aktuellen
Stand für das laufende Jahr. D.h. in Datei 2 werden alle monatlichen Kosten
des SAP-Berichts aufaddiert.
So jetzt suche ich per SVERWEIS die beiden Dateien (auf Basis der
Kostenarten) ab und gebe dann den entsprechenden Wert zurück.

ActiveCell.FormulaR1C1 = _

"=VLOOKUP(RC[-1],'[SAP-Bericht-IKT_7120.xls]Kostenstellensummen'!C4:C6,3,0)"
Range("J3").Select
Selection.AutoFill Destination:=Range("J3:J38"), Type:=xlFillDefault
Range("J3:J38").Select
Range("J40").Select
ActiveCell.FormulaR1C1 = _

"=VLOOKUP(RC[-1],'[SAP-Bericht-IKT_7120.xls]Kostenstellensummen'!C4:C6,3,0)"

Den SAP-Bericht suche ich zu Beginn meines Programms wie folgt heraus:

NeuDatei = Application.GetOpenFilename("Exceldateien,*.xls")
Workbooks.Open NeuDatei

So nun zu meiner Frage:
Im ersten Quellcode hab ich ja bei VLOOKUP... den Dateinamen enthalten sowie
den Reiter "Kostenstellensummen" in dem die Zahlen zu finden sind. Wie kann
ich hier mein Makro allgemein halten. Hab schon versucht das
SAP-Bericht_IKT... durch "neuDatei" zu ersetzen aber bekomme immer einen
Laufzeitfehler. Nun àndert sich ja der Name der Excel-Datei jeden Monat und
ich möchte nicht jedes Mal im Quelltext den Dateinamen anpassen.

Kann mir hier irgendjemand weiterhelfen?

Vielen Dank schon mal im Voraus!!

Beste Grüße,
Benni
 

Lesen sie die antworten

#1 Andreas Killer
20/08/2009 - 12:20 | Warnen spam
On 20 Aug., 12:06, Benjamin
wrote:

Laufzeitfehler. Nun àndert sich ja der Name der Excel-Datei jeden Monat und
ich möchte nicht jedes Mal im Quelltext den Dateinamen anpassen.


Änder das bitte so und entferne auch die restlichen Select's aus dem
übrigen Code nach diesem Muster.

Andreas.

Sub test()
Dim DateiName As String
DateiName = "SAP-Bericht-IKT_7120.xls"

ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],'[" & DateiName & _
"]Kostenstellensummen'!C4:C6,3,0)­"
Range("J3").AutoFill Destination:=Range("J3:J38"), Type:= _
xlFillDefault
Range("J40").FormulaR1C1 = "=VLOOKUP(RC[-1],'[" & DateiName & _
"]Kostenstellensummen'!C4:C6,3,0)­"
End Sub

Ähnliche fragen