Top-Themen

Aktuelle Themen (A bis Z)

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, 9999 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
VBA Excel bei manuellem Spaltenwechsel Arbeitsmappe automatisch sichern
gelöst Frage von FAAB58Microsoft Office3 Kommentare

Hallo liebe Gemeinde, ich habe ein Problem ( wie so viele andere ) und hoffe eine Idee zu bekommen. ...

VB for Applications
VBA - Excel: Beschreibung einzelner Variablen
gelöst Frage von PridoxVB for Applications2 Kommentare

Guten Tag werte Community. Ich habe eine Frage bezüglich der Beschreibung für den Nutzer in Excel. Verwendet man beispielsweise ...

Microsoft Office
VBA und Excel
gelöst Frage von cosmonautMicrosoft Office6 Kommentare

Ich habe eine "Aufgabe" zum Thema VBA programmieren. Dazu habe ich eine Exceltabelle, - dessen Inhalt ich nach bestimmten ...

Microsoft Office
Excel überschrift aus anderer Tabelle übernehmen
gelöst Frage von JnkeeseMicrosoft Office2 Kommentare

Hallo, ich habe ausnahmsweise mal ein Excel Problem / bzw. eine Excel Frage. Ich möchte eine "Intelligente Teilnehmerliste" bauen ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Necur-Botnet soll Erpressungstrojaner Scarab massenhaft verbreiten

Information von BassFishFox vor 35 MinutenErkennung und -Abwehr

12,5 Millionen Spam-Mails aus einem Bot-Netz mit 6 Millionen Computern? Eigentlich eine schwache Leistung. Die Erpresser setzen dabei auf ...

Microsoft

Nadeldrucker-Problem unter Windows - Microsoft liefert Updates

Information von BassFishFox vor 1 StundeMicrosoft

Hat ja nicht lange gedauert. Nachdem die November-Updates für Windows 7, 8.1 und 10 zahlreiche Nadeldrucker lahmgelegt hatten, stellt ...

Linux

Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde

Information von Frank vor 8 StundenLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 1 TagBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Heiß diskutierte Inhalte
Router & Routing
Zwei Netzwerke erstellen
Frage von bunteblumeRouter & Routing14 Kommentare

Hallo Zusammen, Ich möchte gerne ein backup von einem bestimmten Folder welcher auf dem Server regelmässig synchronisiert wird auf ...

Linux
Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde
Information von FrankLinux13 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Windows 10
Alle Programme mit bestimmtem Namen automatisch (per GPO) deinstallieren
gelöst Frage von lordofremixesWindows 1012 Kommentare

Hallo zusammen, gibt es eine Möglichkeit, alle Programme beginnend mit z.B. "Dell" im Namen per Script und somit per ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...