Anzeige
Archiv - Navigation
1520to1524
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Fehler beim Komprilieren

Fehler beim Komprilieren
03.11.2016 11:52:49
Gabi
Hallo zusammen,
ich schon wieder... Ich habe den Code vor dem durchführen mit "Kompilieren von VBAProjekt" bereits geprüft und es hat mir keinen Fehler angezeigt. Sobald ich ihn aber ausführen möchte, kommt die Meldung "Fehler beim Kompilieren: Sub oder Function nicht definiert" und es markiert mir im ersten definierten Set das Wort "Workbook".
Public Sub Wertekopieren() 'Öffnet die Mitarbeiterliste und entnimmt den MA-Namen
Application.ScreenUpdating = False
Dim wb1 As Workbook
Dim wb1pfad As String
Dim wb1name As String
Dim wb2 As Workbook
Dim wb2pfad As String
Dim wb2name As String
Dim wb1ws1 As Worksheet
Dim wb2ws1 As Worksheet
Dim bwbopen As Boolean
Dim strUser As String
Dim Vergleich As String
Dim rng As Range
Dim Telefonzelle As Integer
wb1pfad = "C:\Users\...\Desktop\...\...\Excel-Dateien\Vorhandene Dateien\"
wb1name = "Dienstplan.xlsm" ' bereits geöffnete Datei
wb2pfad = "C:\Users\...\Desktop\...\...\Excel-Dateien\Neue Excel-Dateien\"
wb2name = "Mitarbeiterliste.xlsm" ' zu öffnende Datei
bwbopen = WorkbookIsOpen(wb2name)
If bwbopen = False Then
Workbooks.Open (wb2pfad & wb2name)
Else
End If
Set wb1 = Workbook("Dienstplan.xlsm")
Set wb2 = Workbook("Mitarbeiterliste.xlsm")
Set wb1ws1 = wb1.Worksheet("KW 40") ' bereits geöffnete Datei
Set wb2ws1 = wb2.Worksheet("Tabelle1") ' zu öffnende Datei
Da mir der Fehler nur oberhalb der Sub markiert wurde, habe ich jetzt auch nur den oberen Teil der Sub hier eingefügt.
Weiß jemand von euch, woran das liegen könnte?
Liebe Grüße Gabi

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler beim Komprilieren
03.11.2016 11:59:00
Michael
Hi Gabi,
nimm set=workbooks
Schöne Grüße,
Michael
AW: Fehler beim Komprilieren
04.11.2016 09:35:43
Gabi
Hallo,
vielen Dank Michael und Hansueli für die schnelle Antwort. Ich habe es nun geändert. Allerdings kommt promt die nächste Fehlermeldung "Fehler beim Kompilieren: Methode oder Datenobjekt nicht gefunden"" und diesemal wird das "Worksheets" beim 3. Set markiert...
Public Sub Wertekopieren() 'Öffnet die Mitarbeiterliste und entnimmt den MA-Namen
Application.ScreenUpdating = False
Dim wb1 As Workbooks
Dim wb1pfad As String
Dim wb1name As String
Dim wb2 As Workbooks
Dim wb2pfad As String
Dim wb2name As String
Dim wb1ws1 As Worksheets
Dim wb2ws1 As Worksheets
Dim bwbopen As Boolean
Dim strUser As String
Dim Vergleich As String
Dim rng As Range
Dim Telefonzelle As Integer
wb1pfad = "C:\Users\...\Desktop\...\Excel-Dateien\Vorhandene Dateien\"
wb1name = "Dienstplan.xlsm" ' bereits geöffnete Datei
wb2pfad = "C:\Users\...\Desktop\...\Excel-Dateien\Neue Excel-Dateien\"
wb2name = "Mitarbeiterliste.xlsm" ' zu öffnende Datei
bwbopen = WorkbookIsOpen(wb2name)
If bwbopen = False Then
Workbooks.Open (wb2pfad & wb2name)
Else
End If
Set wb1 = Workbooks("Dienstplan.xlsm")
Set wb2 = Workbooks("Mitarbeiterliste.xlsm")
Set wb1ws1 = wb1.Worksheets("KW 40") ' bereits geöffnete Datei
Set wb2ws1 = wb2.Worksheets("Tabelle1") ' zu öffnende Datei
Danke euch!
Liebe Grüße
Gabi
Anzeige
AW: Fehler beim Kompilieren
04.11.2016 12:18:13
Michael
Hi Gabi,
da muß das "s" beim Dim (oben) weg.
Hansueli hat sich da sehr "offiziell" ausgedrückt mit "Collection". Auf deutsch "Sammlung", wie man weiß, auf noch deutscher ist die jeweilige Variante mit "s" hintendran die Menge aller derartigen Objekte (z.B. Blatt, Mappe), während Du aber beim "3. Set" nur ein einzelnes Blatt setten willst.
Also in Deiner Anweisung:
Set wb1ws1 = wb1.Worksheets("KW 40")

muß links vom = ein einzelnes Objekt stehen (Dim wb1ws1 As Worksheet ' ohne s), das über den Namen "KW 40" aus der Menge der in wb1 vorhandenen Blätter (worksheets ' mit s) "festgelegt" wird.
Schöne Grüße,
Michael
Anzeige
AW: Fehler beim Komprilieren
03.11.2016 12:00:40
EtoPHG
Hallo Gabi
Die Collections heissen
  • Worksbooks("Name")

  • Worksheets("Name")

  • Gruess Hansueli
    AW: Fehler beim Komprilieren
    05.11.2016 09:53:25
    Gabi
    Hallo Martin,
    vielen Dank dir! Deine Erklärung macht mir das jetzt wesentlich nachvollziehbarer und es hat zumindest im oberen Teil der Sub endlich geklappt! Habe das Gleiche mit Workbook auch gemacht. Nun sieht meine Sub so aus und zeigt im oberen Teil keine Fehlermeldung mehr an:
    Public Sub Wertekopieren() 'Öffnet die Mitarbeiterliste und entnimmt den MA-Namen
    Application.ScreenUpdating = False
    Dim wb1 As Workbook
    Dim wb1pfad As String
    Dim wb1name As String
    Dim wb2 As Workbook
    Dim wb2pfad As String
    Dim wb2name As String
    Dim wb1ws1 As Worksheet
    Dim wb2ws1 As Worksheet
    Dim bwbopen As Boolean
    Dim strUser As String
    Dim Vergleich As String
    Dim rng As Range
    Dim Telefonzelle As Integer
    ' On Error GoTo Weiter
    wb1pfad = "C:\Users\...\Excel-Dateien\Vorhandene Dateien\"
    wb1name = "Dienstplan.xlsm" ' bereits geöffnete Datei
    wb2pfad = "C:\Users\...\Excel-Dateien\Neue Excel-Dateien\"
    wb2name = "Mitarbeiterliste.xlsm" ' zu öffnende Datei
    bwbopen = WorkbookIsOpen(wb2name)
    If bwbopen = False Then
    Workbooks.Open (wb2pfad & wb2name)
    Else
    End If
    Set wb1 = Workbooks("Dienstplan.xlsm")
    Set wb2 = Workbooks("Mitarbeiterliste.xlsm")
    Set wb1ws1 = wb1.Worksheets("KW 40") ' bereits geöffnete Datei
    Set wb2ws1 = wb2.Worksheets("Tabelle1") ' zu öffnende Datei
    Vielen Dank nochmal und liebe Grüße
    Gabi
    Anzeige
    gerne,
    06.11.2016 20:21:12
    Michael
    Gabi,
    ich heiße zwar Michael und nicht Martin...
    Na egal, weiterhin happy exceling,
    Michael

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige