Office: Tabellenblatt kopieren Problem

Helfe beim Thema Tabellenblatt kopieren Problem in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; In folgendem Code tritt immer derselbe Fehler auf und ich kapiere den Fehler absolut nicht. Option Explicit Public Dateiname, NewName As String... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von andysmith, 8. Oktober 2009.

  1. andysmith Erfahrener User

    Tabellenblatt kopieren Problem


    In folgendem Code tritt immer derselbe Fehler auf und ich kapiere den Fehler absolut nicht.

    Code:
    Option Explicit
    Public Dateiname, NewName As String
    Public LUV As Workbook, Paten As Workbook
    Sub einfuegen()
    Application.StatusBar = "Daten werden verarbeitet..."
    'Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    ' I=Zeile Patenliste;J=Zeile LUVliste;L=Zähler Loop String lesen
    Dim arrTab, Pos, Pos1, Pos2, Pos3, mont, mont1, mont2, mont3, vers, SD, geh1, geh2, geh, leer, i, J, K, MO1, L, ypat, yluv, wpat, wluv, yy, X, Z, sj, fer, einl1, einl2, einl3, LetzteZeile As Integer
    Dim Dateiname1, Datei, mpat, mluv, Text, Begriff, Suchen, Wert, w1, w2, jo, w3, strMldg As String
    Set LUV = ThisWorkbook
    ' Prüfe ob Dateiname noch vorhanden, wenn nicht dann lese neu ein und speichere in Zeile 222 Spalte 2
    Dateiname = LUV.Sheets("Sheet1").Cells(222, 2)
    Text = Dateiname
    Pos = InStr(26, Text, "\")
       If Pos Then
       Suchen = Mid(Text, Pos + 1, Len(Text))
        Else
        Suchen = Begriff
        End If
    If Dir(Dateiname) = Suchen Then
    Set Paten = GetObject(Dateiname)
    Else
    Datei = Application.GetOpenFilename("Micrsoft Excel-Dateien (*.xls),*.xls,Textdateien (*.txt),*.txt,Add-In-Dateien (*.xla),*.xla")
    LUV.Sheets("Sheet1").Cells(222, 2) = Datei
    Set Paten = GetObject(Datei)
    End If
    NewName = "KW " & KW(Date)
        If Blatt_vorhanden(NewName) Then
    LUV.Worksheets("sheet1").Rang("A1").Copy Destination:=LUV.Worksheets(NewName).Cells(1, 1)
        Else
        'Sheets("Sheet1").Activate
                LUV.Worksheets("sheet1").Range("A1").Copy After:=Sheets("Sheet1")
                ActiveSheet.Name = NewName
         End If
    ........
    ........
    
    Sub Öffnen()
        'ggf. Laufwerk und Ordner als Vorgabe setzen
        ChDir "t:\V1\V11\V11 all\H141\LUV\"
        ChDrive "t"
        'Das Dialogfenster
        Dateiname = Application.GetOpenFilename("Micrsoft Excel-Dateien (*.xls),*.xls")
        If Dateiname = False Then Exit Sub
        MsgBox "neuer Dateiname:" & vbNewLine & Dateiname
    End Sub
    Function KW(d As Date) As Integer
        Dim t As Date
        t = DateSerial(Year(d + (8 - Weekday(d)) Mod 7 - 3), 1, 1)
        KW = (d - t - 3 + (Weekday(t) + 1) Mod 7) \ 7 + 1
    End Function
    Public Function Blatt_vorhanden(strName As String) As Boolean
        Dim wksBlatt As Worksheet
    Workbooks("LUV-Auftragstermine MO1_mit_Makro.xls").Activate
        For Each wksBlatt In ActiveWorkbook.Worksheets
            If wksBlatt.Name = NewName Then Blatt_vorhanden = True: Exit For
        Next
    End Function
    An der Stelle an welcher via:

    Code:
    NewName = "KW " & KW(Date)
        If Blatt_vorhanden(NewName) Then
       ' ActiveSheet.Copy Destination:=Worksheets(ActiveSheet.NewName)
    ActiveSheet.Copy Destination:=Worksheets(NewName).Range("A1")
    'ActiveSheet.Name = NewName
        Else
             ActiveSheet.Copy After:=Sheets("Sheet1")
             ActiveSheet.Name = NewName
        End If
    Das Blatt kopiert werden soll entweder als neues Blatt oder als schon bestehendes Baltt mit den neuen Daten bekomme ich einen Laufzeitfehler 9...., egal was ich für eine Syntax verwende, selbst wenn ich das mit dem Makro Recorder aufzeichne einbaue und laufen lasse...., also hängt das vermutlich mit der Dimensionierung zusammen, aber ich komme nicht drauf wo ich falsch denke... Tabellenblatt kopieren Problem :oops: :cry:

    Vielen Dank für die Hilfe!!
     
    andysmith, 8. Oktober 2009
    #1
  2. Exl121150 Erfahrener User
    Hallo AndySmith,

    habe ich recht, dass der Laufzeitfehler in folgender Codezeile auftritt:
    Code:
      If Blatt_vorhanden(NewName) Then
    1) In der VBA-Hilfe ist unter anderem Folgendes dazu zu finden:
    Die ersten 2 Zeilen sind zutreffend, die 3. Zeile ist für unser Problem eher irreführend.

    2) Der Fehler tritt in der Funktion Blatt_vorhanden(...) auf. Da dort keine Fehlerbehandlung enthalten ist ("On Error ..."), wird diese Funktion abgebrochen, die Programmausführung springt zurück an den Ort, von wo sie aufgerufen wurde (durch die Function), dort aber ist auf der Ebene der Sub Einfuegen() auch keine Fehlerbehandlung aktiv (oberste Ebene), sodass die Programmausführung abbricht.

    3) In der Function Blatt_vorhanden(..) gibt es 1 Auflistungsobjekt, nämlich Workbooks: um ein einzelnes Objekt aus der Liste auszuwählen, kann man entweder seine Nr. in der Liste verwenden oder aber seinen Namen. Damit das aber auf eine der beiden Arten funktioniert, muss dieses Objekt in der Auflistung existieren.
    Indem man irgendwo vorher im Code in der Sub einfuegen zB. mit
    Code:
    Dim Wb as Workbook
    Set Wb=Workbooks.Open("..Pfad..\LUV-Auftragstermine MO1_mit_Makro.xls")
    dieses Workbook in den Arbeitsspeicher holt, wird es von Excel auch in die Auflistung Workbooks (mit dem Dateinamen als Schlüsselbegriff in der Auflistung) eingefügt
    oder aber man öffnet diese Exceldatei händisch, indem man im Explorer einen Doppelklick auf sie ausführt - dann existiert sie natürlich auch in der Auflistung Workbooks als Workbook namens "LUV-..."
     
    Exl121150, 8. Oktober 2009
    #2
Thema:

Tabellenblatt kopieren Problem

Die Seite wird geladen...
  1. Tabellenblatt kopieren Problem - Similar Threads - Tabellenblatt kopieren Problem

  2. VBA: 2 Tabellenblätter Inhalte kopieren und in eine Excelmappe einfügen und als .xlsm speichern

    in Microsoft Excel Hilfe
    VBA: 2 Tabellenblätter Inhalte kopieren und in eine Excelmappe einfügen und als .xlsm speichern: Hallo Excel-Freaks, ich bin gerade mit einem Code beschäftigt und komme nicht weiter. Gewünscht wäre ein Makro: Zwei Tabellenblätter Inhalte kopieren und in eine Excelmappe einfügen und als .xlsm...
  3. Tabellenblatt in neue Mappe kopieren

    in Microsoft Excel Hilfe
    Tabellenblatt in neue Mappe kopieren: Hallo zusammen, ich hoffe, jemand kann mir weiterhelfen. Das Vorhaben: Nach Befüllen einer Excel-Tabelle soll ein Blatt daraus in eine eigenständige Mappe kopiert werden und alle Verknüpfungen...
  4. Daten aus einem Tabellenblatt in ein anderes kopieren ohne Leerzellen anzuzeigen

    in Microsoft Excel Hilfe
    Daten aus einem Tabellenblatt in ein anderes kopieren ohne Leerzellen anzuzeigen: Hallo zusammen, ich habe folgendes Problem. Ich würde gerne in einem Tabellenblatt, bestimmte Daten aus einem anderen Tabellenblatt automatisch anzeigen lassen. Tabellenblatt 1 = Grundlage...
  5. Automatisches Kopieren aus Tabelle in anderes Tabellenblatt

    in Microsoft Excel Hilfe
    Automatisches Kopieren aus Tabelle in anderes Tabellenblatt: Hi liebes Forum, ich habe folgende Frage/Problemstellung: Ich habe eine Exceldatei, die aus vielen verschiedenen Blättern besteht. Für jedes Projekt ein Blatt (alle sind gleich aufgebaut). Jetzt...
  6. VBA Code Tabellenblatt kopieren und UserForm

    in Microsoft Excel Hilfe
    VBA Code Tabellenblatt kopieren und UserForm: Hallo, ich hoffe mir kann jemand helfen. Schon mal vielen Dank für die Unterstützung. Folgende Thematik: In dem Blatt 1 ist ein ComandButton. Mit Klick soll über VBA folgendes abgefragt...
  7. Daten aus verschiedenen Tabellenblättern kopieren

    in Microsoft Excel Hilfe
    Daten aus verschiedenen Tabellenblättern kopieren: Hallo zusammen, bin neu hier in diesem Forum und darf mit getrost als Excel Anfänger beschreiben :) Ich habe eine Frage, ich möchte aus verschiedenen Tabellenblätter Daten in eine neue Tabelle...
  8. Wie bestimmte Zellen aus mehreren Blättern kopieren

    in Microsoft Excel Hilfe
    Wie bestimmte Zellen aus mehreren Blättern kopieren: Hallo, ich habe ein Problem, bei dem ich trotz Googlen als Laie einfach nicht weiterkomme. Ich möchte Zahlen aus ganz bestimmten Zellen (siehe unten), die über mehrere Tabellenblätter verteilt...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden