Clever-Excel-Forum

Normale Version: Bereich von Worksheet wird nicht in anderes Workbook eingefügt
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Habe noch aktuell noch ein zweites Problemchen.

Ich möchte aus meinem aktuellen Workbook über einen Variablen Dateipfad einen definierten Zeilenbereich in die aktuellste Datei in einem Verzeichnis auf ein Sheet kopieren.
Das Zielworkbook soll dabei geöffnet werden und auch geöffnet bleiben.

Mein Problem liegt beim Einfügen des kopierten Bereichs, denn dieser wird einfach nicht eingefügt.
Fehler werden nicht angezeigt. Die Prozedur läuft auch in Einzelschritten komplett durch, aber mein kopierter Bereich wird einfach nicht am Zielort eingefügt.
Habe zur Sicherheit das Workbook und das Worksheet extra nochmal aktiviert aber es hat nichts gebracht.

Sieht jemand den/die Fehler?



Code:
Sub DatenexportLogistik()

    With Application
   .ScreenUpdating = True
   .EnableEvents = True
   End With

   strVerzeichnis = ThisWorkbook.Sheets("Dateipfade").Cells(6, 2).Text
   StrTyp = "*.xlsx"
   Dateiname = Dir(strVerzeichnis & StrTyp)
   Dateiname_neu = Dateiname
   Zeit = FileDateTime(strVerzeichnis & Dateiname)
   Do While Dateiname <> ""
       If Zeit < FileDateTime(strVerzeichnis & Dateiname) Then
           Zeit = FileDateTime(strVerzeichnis & Dateiname)
           Dateiname_neu = Dateiname
       End If
       Dateiname = Dir
   Loop
   
       
   Set AktuelleMappe = ActiveWorkbook
   Set objWb = Workbooks.Open(strVerzeichnis & Dateiname_neu)
   objWb.Application.AskToUpdateLinks = False
   Set objSH = objWb.Sheets(15)
   'kopiere Zelle Zelle C18 bis N18 vom Sheet auf das Sheet 15 in den Bereich G13 bis Zelle R13 in der neuesten Mappe im Verzeichnis
   AktuelleMappe.Sheets("akt. Gegenstromverfahren").Range("C18:N18").Copy
   objWb.Activate
   objSH.Activate
   objSH.Range("G13:R13").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
   
 
   Set objSH = Nothing
   Set objWb = Nothing
 
   
   Exit Sub
   

End Sub


Grüße und danke
Hallöchen,

wie wäre es denn mit Speichern?
(26.05.2017, 20:41)schauan schrieb: [ -> ]Hallöchen,

wie wäre es denn mit Speichern?


Gute Sache :D

...hatte es hier kurz vorher wohl wieder rausgelöscht.

Code:
Sub DatenexportLogistik()
 
     With Application
    .ScreenUpdating = True
    .EnableEvents = True
    End With

    strVerzeichnis = ThisWorkbook.Sheets("Dateipfade").Cells(6, 2).Text
    StrTyp = "*.xlsx"
    Dateiname = Dir(strVerzeichnis & StrTyp)
    Dateiname_neu = Dateiname
    Zeit = FileDateTime(strVerzeichnis & Dateiname)
    Do While Dateiname <> ""
        If Zeit < FileDateTime(strVerzeichnis & Dateiname) Then
            Zeit = FileDateTime(strVerzeichnis & Dateiname)
            Dateiname_neu = Dateiname
        End If
        Dateiname = Dir
    Loop
    
        
    Set AktuelleMappe = ActiveWorkbook
    Set objWb = Workbooks.Open(strVerzeichnis & Dateiname_neu)
    objWb.Application.AskToUpdateLinks = False
    Set objSH = objWb.Sheets(15)
    'kopiere Zelle Zelle C18 bis N18 vom Sheet auf das Sheet 15 in den Bereich G13 bis Zelle R13 in der neuesten Mappe im Verzeichnis
    AktuelleMappe.Sheets("akt. Gegenstromverfahren").Range("C18:N18").Copy
    objWb.Activate
    objSH.Activate
    objSH.Range("G13:R13").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    
    objWb.Saved = True
   
   
    Set objSH = Nothing
    Set objWb = Nothing
   
    
    Exit Sub
    

End Sub


Das Problem ist aber dennoch ab dem Punkt, an dem eingefügt werden soll.
Speichern klappt ebensowenig wie das Einfügen.
Ich erhalte einfach keinen Fehler... alles wird auch in Einzelschritten abgesegnet und nicht übersprungen oder als Fehler markiert.
Ist die Syntax falsch?
Hallo,

was möchtest Du mit objWb.Saved = True erreichen? Speichern jedenfalls geht anders! Wink

Gruß Uwe
Hallöchen,

mal noch zur (Er-)Läuterung Smile

mit objWb.Saved = True gaukelst Du Excel nur vor, die Datei wäre gespeichert. Du benötigst
objWb.Save ...
oder
objWb.SaveAs ...
Auch wenn ich den Speicherbefehl ändere; gespeichert wird es nicht.
Dies ist auch nicht meine Problematik.
Das Workbook in das hineinkopiert wird soll ohnehin geöffnet bleiben.
Speichern kann der User manuell.

Liegt ggfs. ein Fehler bei meinem Workbook- oder Worksheet-Objekt vor?

Grüße und Danke
Hallöchen,
In der Quelle steht im programmierten Bereich auch was drin?
(27.05.2017, 20:18)schauan schrieb: [ -> ]Hallöchen,
In der Quelle steht im programmierten Bereich auch was drin?

Ja.
Keine Werte die mittels Formel (Zelle X - Zelle Y) errechnet werden.
Ich möchte lediglich die Values ohne Formel einfügen.

Grüße
(29.05.2017, 07:10)nedial schrieb: [ -> ]Ich möchte lediglich die Values ohne Formel einfügen.

Hallo,

dann brauchst Du nicht kopieren und einfügen.
Probier es mal nach folgendem Muster:

Code:
objSH.Range("G13:R13").Value = AktuelleMappe.Sheets("akt. Gegenstromverfahren").Range("C18:N18").Value


Das das mit dem Kopieren und Einfügen nicht klappt, kann auch an Ereignisroutinen liegen, die beim aktivieren oder deaktivieren der Arbeitsmappen ausgeführt werden. Hast Du so etwas in den Mappen?
(29.05.2017, 10:50)atilla schrieb: [ -> ]Hallo,

dann brauchst Du nicht kopieren und einfügen.
Probier es mal nach folgendem Muster:

Code:
objSH.Range("G13:R13").Value = AktuelleMappe.Sheets("akt. Gegenstromverfahren").Range("C18:N18").Value


Das das mit dem Kopieren und Einfügen nicht klappt, kann auch an Ereignisroutinen liegen, die beim aktivieren oder deaktivieren der Arbeitsmappen ausgeführt werden. Hast Du so etwas in den Mappen?

Habe es mal ausprobiert. Passiert leider nichts... :/
Aber Danke! :)

Ereignisroutinen sind vorhanden. Die Abfrage zum Aktivieren der Inhalte sowie das Aktualisieren von Hyperlinks und Verknüpfungen. Diese bekomme ich auch nicht komplett abgeschaltet.
Seiten: 1 2