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

Mitglied: goodbytes

goodbytes (Level 2) - Jetzt verbinden

06.09.2011, aktualisiert 18.09.2011, 11224 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
Excel VBA vbyesno
gelöst Frage von Florian86Microsoft Office2 Kommentare

Hallo, ich habe folgenden Code Sub AbgerundetesRechteck1_Klicken() Dim wksOrig As Worksheet Dim wksStore As Worksheet Dim lngLastRow As Long ...

VB for Applications
Excel VBA Code
gelöst Frage von specialuserVB for Applications2 Kommentare

Hallo zusammen, Hab hier einen Button in einer Excel mit Makros erstellt. Der Button hat die Funktion aus der ...

Microsoft Office
Excel VBA - PDF
Frage von SabineTMicrosoft Office3 Kommentare

Hallo Zusammen, ich habe ein pdf, über welches ich bereits die OCR Texterkennung laufen lassen habe. Jetzt möchte ich ...

VB for Applications
Excel VBA Programmierung
gelöst Frage von specialuserVB for Applications7 Kommentare

Hallo zusammen, ich suche auf diesem Weg Hilfe bei einer VBA Programmierung. Und zwar geht es darum 2 Dropdownlisten ...

Neue Wissensbeiträge
Windows Server

Zähe Update-Installation auf Windows Server 2016

Information von kgborn vor 20 StundenWindows Server4 Kommentare

Mir sind in der Vergangenheit immer wieder Beschwerden von Admins unter die Augen gekommen, die sich über die doch ...

Humor (lol)
Turnschuhe per Firmware lahmlegen
Information von Henere vor 23 StundenHumor (lol)5 Kommentare

Und was kommt demnächst ? Bekomme ich kein Klopapier mehr, weil der Spender einem DDOS unterliegt ? :-) Ich ...

Sicherheit

Sicherheitsrisiko in WinRAR und Co. durch Schwachstelle in UNACEV2.DLL

Information von kgborn vor 1 TagSicherheit

In der seit 2005 nicht mehr aktualisierten Bibliothek UNACEV2.DLL gibt es eine Path-Traversal-Schwachstelle. Diese ermöglicht es, bei ACE-Archiven Dateien ...

Internet

CDU Propaganda: Urheberschutz im Internet - Ende des digitalen Wild-West

Information von Frank vor 2 TagenInternet4 Kommentare

Hallo Administratoren, aus einem Kommentar heraus habe ich folgenden Beiträge von Herr Sven Schulze und Axel Voss (beide CDU ...

Heiß diskutierte Inhalte
Hardware
Frage an Kenner von 5,25 Zoll Laufwerken
Frage von DerWoWussteHardware53 Kommentare

Moin Kollegen. Hier wird gerade im Archiv gewühlt und 5,25 Zoll Disketten ("2S/HD", 96TPI) sollen eingelesen werden. Ich habe ...

Windows Tools
Dateiname Automatisch auf PDF Klartext oder als Barcode abdrucken
Frage von spongebob24Windows Tools29 Kommentare

Hallo Zusammen, habe eine tolle Anforderung bekommen. Ich sollte auf mehrere PDF Dateien Automatisch einen Stempel anbringen lassen. Toll ...

Internet
SDSL oder ADSL - Preis-Leistungs-Verhältnis
Frage von ZeppelinInternet21 Kommentare

Wehrte Community, der Unterschied dieser beiden Techniken ist recht einfach erklärt. Das S, steht für Synchron (Gleich) und das ...

Microsoft Office
MicroSoft und seine Lizenzen
Frage von ZeppelinMicrosoft Office17 Kommentare

Wehrte Community, ich wende mich an die Community weil MicroSoft dazu keine Stellung nehmen möchte. Ich öffne mein Web-Browser ...