Anzeige
Archiv - Navigation
1932to1936
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

Werte aus geöffneter Arbeitsmappe

Werte aus geöffneter Arbeitsmappe
07.06.2023 12:47:11
Heinz H.

Hallo im Forum,

Möchte gerne aus einer geöffneten Arbeitsmappe Werte in eine andere Mappe einfügen.

Die Arbeitsmappe zum kopieren heißt "Verlaufsdaten" und hat einen Sheets mit den komischen Namen "Ark1".

Bis jetzt habe ich den Sheets "Ark1" immer in meine Arbeitsmappe kopiert.

Es wäre super wenn ich den Sheets "Ark1" nicht immer in meine Arbeitsmappe kopieren müsste.

Könnte mir dazu jemand helfen ?

Danke
SG, Heinz


Der Code Dazu.

Option Explicit

Sub Jänner_einfuegen()

    Dim mySheet As Worksheet

Sheets("Jänner").Unprotect
    
    Application.DisplayAlerts = False
    On Error Resume Next
    Set mySheet = Sheets("Ark1")
    On Error GoTo 0
    
    If Not mySheet Is Nothing Then

Else
MsgBox "Sheets Ark1!  nicht vorhanden"
Exit Sub

End If


Sheets("Ark1").Range("B3:B33").Copy 'PV-Erzeugung
Sheets("Jänner").Range("B3:B33").PasteSpecial Paste:=xlValues

Sheets("Ark1").Range("C3:C33").Copy 'Einspeisung
Sheets("Jänner").Range("E3:E33").PasteSpecial Paste:=xlValues

Sheets("Ark1").Range("E3:E33").Copy 'Netzbezug
Sheets("Jänner").Range("H3:H33").PasteSpecial Paste:=xlValues

Sheets("Ark1").Range("D3:D33").Copy 'Verbraucherlast
Sheets("Jänner").Range("K3:K33").PasteSpecial Paste:=xlValues

Application.CutCopyMode = False 'Zwischenspeicher löschen

Sheets("Jänner").Protect

Worksheets("Ark1").Delete

Sheets("Jänner").Activate

Application.DisplayAlerts = True
End Sub


8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte aus geöffneter Arbeitsmappe
07.06.2023 13:01:28
MCO
Hallo Heinz!

Probier das mal aus:

Option Explicit

Sub Jänner_einfuegen()

    Dim mySheet As Worksheet
    Dim zielsheet As Worksheet
    Dim myWBa As Workbook

    Application.DisplayAlerts = False
    On Error Resume Next
    Set mywb = Workbooks("Verlaufsdaten")
    Set mySheet = mywb.Sheets("Ark1")
    Set zielsheet = ThisWorkbook.Sheets("Jänner")
    On Error GoTo 0
    
    zielsheet.Unprotect
    
    If mySheet Is Nothing Then
        MsgBox "Sheets Ark1!  nicht vorhanden"
        Exit Sub
    End If
    
    With mySheet
        .Range("B3:B33").Copy 'PV-Erzeugung
        zielsheet.Range("B3:B33").PasteSpecial Paste:=xlValues
    
        .Range("C3:C33").Copy 'Einspeisung
        zielsheet.Range("E3:E33").PasteSpecial Paste:=xlValues
    
        .Range("E3:E33").Copy 'Netzbezug
        zielsheet.Range("H3:H33").PasteSpecial Paste:=xlValues
    
        .Range("D3:D33").Copy 'Verbraucherlast
        zielsheet.Range("K3:K33").PasteSpecial Paste:=xlValues
    End With
    
    Application.CutCopyMode = False 'Zwischenspeicher löschen
    
    mywb.Close 0
    zielsheet.Protect
    zielsheet.Activate
    
    Application.DisplayAlerts = True
End Sub

Gruß, MCO


Anzeige
AW: Werte aus geöffneter Arbeitsmappe
07.06.2023 13:08:15
Heinz H.
Hallo MCO,

Erstmals Danke für deine Hilfe.

Hier kommt die Fehlermeldung " Variable nicht definiert.

Set mywb = Workbooks("Verlaufsdaten")
Gruß, Heinz


AW: Werte aus geöffneter Arbeitsmappe
07.06.2023 13:15:39
Rudi Maintaire
Hallo,
ändere mal
Dim myWBa As Workbook
in
Dim myWB As Workbook

Gruß
Rudi


Ups, Flüchtigkeitsfehler... o.T.
07.06.2023 13:18:51
MCO


AW: Werte aus geöffneter Arbeitsmappe
07.06.2023 13:19:45
Heinz H.
Hallo Rudi,

Jetzt läuft der Code bis zur MsgBox "MsgBox "Sheets Ark1! nicht vorhanden"

SG, Heinz


lösche On error resume next.
07.06.2023 13:39:56
Rudi Maintaire
...sonst findest du den Fehler nie.

Wahrscheinlich
Set myWB = Workbooks("verlaufsdaten.xlsx")

Gruß
Rudi


Anzeige
AW: Werte aus geöffneter Arbeitsmappe
07.06.2023 13:52:31
Daniel
Hi
probiers mal so:

dim wb_Quelle as Workbook
dim sh_Quelle as workbook

for each wb_Quelle in Application.Workbooks
    if wb_Quelle.Name like "Verlaufsdaten*" then
        for each sh_Quelle in wb_Quelle.Worksheets
            if sh_Quelle.Name = "Ark1" then Exit for
        next
        if not sh_Quelle is Nothing then Exit for
    end if
next

if sh_Quelle is nothing then
    Msgbox "Sheet Ark1 nicht gefunden"
    exit sub
end if

sh_Quelle.Range("B3:B33").Copy
thisworkbook.Sheets("Jänner").Range("B3").PasteSpecial Paste:=xlValues
sh_Quelle.Range("C3:B33").Copy
thisworkbook.Sheets("Jänner").Range("E3").PasteSpecial Paste:=xlValues
sh_Quelle.Range("E3:E33").Copy
thisworkbook.Sheets("Jänner").Range("H3").PasteSpecial Paste:=xlValues
sh_Quelle.Range("D3:D33").Copy
thisworkbook.Sheets("Jänner").Range("K3").PasteSpecial Paste:=xlValues

blattschutz und so kanns du dir selber dazu basteln.

gruß Daniel


Anzeige
Danke an MCO & Rudi & Daniel
07.06.2023 14:17:11
Heinz H.
Hallo ihr Excelexperten

Danke für Eure Hilfestellungen.

Nochmals recht herzlichen Dank.

Schöne Grüße, Heinz

Mit folgenden Code funktioniert es wie gewünscht.

Option Explicit

Sub Jänner_einfuegen()

    Dim mySheet As Worksheet
    Dim zielsheet As Worksheet
    'Dim myWBa As Workbook
    Dim myWB As Workbook


    Application.DisplayAlerts = False
    On Error Resume Next
    'Set myWB = Workbooks("Verlaufsdaten")
    Set myWB = Workbooks("Verlaufsdaten.xls")
    
    Set mySheet = myWB.Sheets("Ark1")
    Set zielsheet = ThisWorkbook.Sheets("Jänner")
    On Error GoTo 0
    
    zielsheet.Unprotect
    
    If mySheet Is Nothing Then
        MsgBox "Sheets Ark1!  nicht vorhanden"
        Exit Sub
    End If
    
    With mySheet
        .Range("B3:B33").Copy 'PV-Erzeugung
        zielsheet.Range("B3:B33").PasteSpecial Paste:=xlValues
    
        .Range("C3:C33").Copy 'Einspeisung
        zielsheet.Range("E3:E33").PasteSpecial Paste:=xlValues
    
        .Range("E3:E33").Copy 'Netzbezug
        zielsheet.Range("H3:H33").PasteSpecial Paste:=xlValues
    
        .Range("D3:D33").Copy 'Verbraucherlast
        zielsheet.Range("K3:K33").PasteSpecial Paste:=xlValues
    End With
    
    Application.CutCopyMode = False 'Zwischenspeicher löschen
    
    myWB.Close 0
    zielsheet.Protect
    zielsheet.Activate
    
    Application.DisplayAlerts = True
End Sub

Anzeige

22 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige