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, 9005 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 ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
VB for Applications
gelöst Excel VBA Eine oder mehrere Zellen Verschieben (2)

Frage von batchnewbie zum Thema VB for Applications ...

Microsoft Office
Excel VBA: Tranferieren von Werten aus Quelldatei in die Masterdatei mit SVERWEIS (3)

Frage von peter.schroeder zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...

Microsoft Office
Keine Updates für Office 2016 (11)

Frage von Motte990 zum Thema Microsoft Office ...