Excel-VBA Variable in andere Arbeitsmappe übernehmen
Hallo,
ich habe da ein kleines Problem.
Ich habe zwei Arbeitsmappen erstellt. Die erste Mappe soll die zweite Mappe aufrufen und aus dieser nach Auswahl der Checkboxen in einem Tabellenblatt Daten in die erste Mappe kopieren.
Die zweite Mappe wird auch durch die erste gestartet, ebenfalls das dort enthaltene Makro. Dann stoße ich auf einen Fehler, dass ein Objekt nicht vorhanden wäre. Zwischenzeitlich funktionierte es auch mal kurz. Ich weiss nur nicht warum jetzt nicht mehr.
Der Debugger springt nach der Fehlermeldung immer in dir Zeile der ersten Mappe, wo das Makro der zeiten Mappe gestartet und die Variablen übergeben werden.
Hier die wichtigsten Teile des Codes.
Erste Mappe:
Die Startzeile wird an einer anderen Stelle ermittelt; das funktioniert auch.
Zweite Mappe:
Ich habe schon alle Tipps aus dem Internet probiert; ohne Erfolg.
Wie kann ich die Variablen korrekt übergeben?
Danke schon mal im voraus !!!
Gruß
Torsten
Anmerkung am 18. September 2011:
Mit dem Variablen übergeben hat es dann auch geklappt; ich habe es aber jetzt im nachhinein anders gelöst, da es auch noch andere Probleme gab.
Alle Makros stecken jetzt in der ersten Mappe; diese zieht sich die Datensätze dann aus den anderen Mappen. Ist ohnehin die sauberste Lösung denke ich.
ich habe da ein kleines Problem.
Ich habe zwei Arbeitsmappen erstellt. Die erste Mappe soll die zweite Mappe aufrufen und aus dieser nach Auswahl der Checkboxen in einem Tabellenblatt Daten in die erste Mappe kopieren.
Die zweite Mappe wird auch durch die erste gestartet, ebenfalls das dort enthaltene Makro. Dann stoße ich auf einen Fehler, dass ein Objekt nicht vorhanden wäre. Zwischenzeitlich funktionierte es auch mal kurz. Ich weiss nur nicht warum jetzt nicht mehr.
Der Debugger springt nach der Fehlermeldung immer in dir Zeile der ersten Mappe, wo das Makro der zeiten Mappe gestartet und die Variablen übergeben werden.
Hier die wichtigsten Teile des Codes.
Erste Mappe:
Public StartZeile As Variant
Public LetzteZelle As Variant
Public Datei As Variant
Public Grenzwertdatei As String
Sub Grenzwerte()
Datei = ThisWorkbook.Path & "\" & ThisWorkbook.Name
Grenzwertdatei = ThisWorkbook.Path & "\Grenzwerte.xls"
If Dir(Grenzwertdatei) = "" Then
MsgBox "Die Datei mit den Grenzwerten existiert nicht."
End If
Workbooks.Open (Grenzwertdatei)
Application.Run "Grenzwertdatei & "!GW_001", Datei, StartZeile.Row, LetzteZeile.Row
End Sub
Die Startzeile wird an einer anderen Stelle ermittelt; das funktioniert auch.
Zweite Mappe:
Option Explicit
Public i As Integer
Public b As Integer
Public Start As Integer
Public Schluss As Variant
Public Dateiname As String
Public Sub GW_001(StartZeile As Variant, LetzteZelle As Variant, Datei As String)
On Error Resume Next
Start = StartZeile
Schluss = LetzteZelle
Dateiname = Datei
Application.ScreenUpdating = False
i = Start
b = 2
For i = 1 To 50
b = b + 1
If Range("B" & i).Value = "Wahr" Then
Workbooks(Dateiname).Sheets(2).Range("A" & i).Value = Workbooks("Grenzwerte.xls").Range("C" & b).Value
Workbooks(Dateiname).Sheets(2).Range("B" & i).Value = Workbooks("Grenzwerte.xls").Sheets(1).Range("D1").Value
Workbooks(Dateiname).Sheets(2).Range("D" & i).Value = Workbooks("Grenzwerte.xls").Sheets(1).Range("D" & b).Value
Else
MsgBox Start & " " & Dateiname
Workbooks(Dateiname).Sheets(2).Range("A" & Start & ":D" & Schluss).ClearContents
End If
Next i
Ende:
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Ich habe schon alle Tipps aus dem Internet probiert; ohne Erfolg.
Wie kann ich die Variablen korrekt übergeben?
Danke schon mal im voraus !!!
Gruß
Torsten
Anmerkung am 18. September 2011:
Mit dem Variablen übergeben hat es dann auch geklappt; ich habe es aber jetzt im nachhinein anders gelöst, da es auch noch andere Probleme gab.
Alle Makros stecken jetzt in der ersten Mappe; diese zieht sich die Datensätze dann aus den anderen Mappen. Ist ohnehin die sauberste Lösung denke ich.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 172690
Url: https://administrator.de/forum/excel-vba-variable-in-andere-arbeitsmappe-uebernehmen-172690.html
Ausgedruckt am: 12.04.2025 um 11:04 Uhr
1 Kommentar