Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Excel-VBA Variable in andere Arbeitsmappe übernehmen

Frage Entwicklung VB for Applications

Mitglied: goodbytes

goodbytes (Level 2) - Jetzt verbinden

06.09.2011, aktualisiert 18.09.2011, 9388 Aufrufe, 1 Kommentar

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:

01.
Public StartZeile As Variant 
02.
Public LetzteZelle As Variant 
03.
Public Datei As Variant 
04.
Public Grenzwertdatei As String 
05.
 
06.
Sub Grenzwerte() 
07.
 
08.
Datei = ThisWorkbook.Path & "\" & ThisWorkbook.Name 
09.
Grenzwertdatei = ThisWorkbook.Path & "\Grenzwerte.xls" 
10.
 
11.
If Dir(Grenzwertdatei) = "" Then 
12.
    MsgBox "Die Datei mit den Grenzwerten existiert nicht." 
13.
End If 
14.
 
15.
Workbooks.Open (Grenzwertdatei) 
16.
Application.Run "Grenzwertdatei & "!GW_001", Datei, StartZeile.Row, LetzteZeile.Row 
17.
 
18.
End Sub
Die Startzeile wird an einer anderen Stelle ermittelt; das funktioniert auch.

Zweite Mappe:

01.
Option Explicit 
02.
Public i As Integer 
03.
Public b As Integer 
04.
Public Start As Integer 
05.
Public Schluss As Variant 
06.
Public Dateiname As String 
07.
 
08.
Public Sub GW_001(StartZeile As Variant, LetzteZelle As Variant, Datei As String) 
09.
 
10.
    On Error Resume Next 
11.
    Start = StartZeile 
12.
    Schluss = LetzteZelle 
13.
    Dateiname = Datei 
14.
 
15.
    Application.ScreenUpdating = False 
16.
     
17.
    i = Start 
18.
    b = 2 
19.
 
20.
    For i = 1 To 50 
21.
        b = b + 1 
22.
         
23.
    If Range("B" & i).Value = "Wahr" Then 
24.
        Workbooks(Dateiname).Sheets(2).Range("A" & i).Value = Workbooks("Grenzwerte.xls").Range("C" & b).Value 
25.
        Workbooks(Dateiname).Sheets(2).Range("B" & i).Value = Workbooks("Grenzwerte.xls").Sheets(1).Range("D1").Value 
26.
        Workbooks(Dateiname).Sheets(2).Range("D" & i).Value = Workbooks("Grenzwerte.xls").Sheets(1).Range("D" & b).Value 
27.
    Else 
28.
    MsgBox Start & "   " & Dateiname 
29.
        Workbooks(Dateiname).Sheets(2).Range("A" & Start & ":D" & Schluss).ClearContents 
30.
     
31.
    End If 
32.
    Next i 
33.
     
34.
Ende: 
35.
        Application.CutCopyMode = False 
36.
        Application.ScreenUpdating = True 
37.
         
38.
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.
Mitglied: bastla
07.09.2011 um 08:19 Uhr
Hallo TorstenB!
Wie kann ich die Variablen korrekt übergeben?
Hast Du es schon einmal mit der Reihenfolge, in der sie vom aufgerufenen Sub erwartet werden, versucht?

Eine gerade Anzahl von Anführungszeichen in Zeile 16 wäre vermutlich auch hilfreich ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Unterordner durchsuchen Excel VBA (1)

Frage von schwalbepilot zum Thema Microsoft Office ...

Microsoft Office
gelöst Excel VBA: Automatische Konvertierung von Textdatei (.txt) zu Exceldatei (.xlsx) (7)

Frage von Booster07 zum Thema Microsoft Office ...

Microsoft Office
gelöst Excel VBA Tabelleblätter kopieren und Umbenennnen (8)

Frage von Florian86 zum Thema Microsoft Office ...

Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(8)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Heiß diskutierte Inhalte