Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Arbeitsblatt nur als Werte kopieren

Arbeitsblatt nur als Werte kopieren
07.09.2018 12:39:09
martin
Hallo an alle,
ich habe ein Makro programmiert, bei dem ich via Buttonklick eine Arbeitsmappe aus dem Windows Explorer auswählen kann, von dem es dann das erste Arbeitsblatt in dei Mappe mit dem Button kopiert:
If strDatei "" Then
Set wkb = Workbooks.Open(strDatei)
wkb.Sheets(1).Copy after:=wkbAkt.Sheets(1) 'Nur Arbeitsblatt 1 relevant
wkb.Close False
End If
Könnt ihr mir sagen, wie ich es umsetzen kann, dass bei diesem Kopiervorgang lediglich die Werte kopiert werden und nicht Formeln, Bilder etc?
Dankeschön
Martin
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Arbeitsblatt nur als Werte kopieren
07.09.2018 12:46:12
Werner
Hallo Martin,
auf diese Weise gar nicht.
Du kopierst ja ein komplettes Blatt und komplett bedeutet halt auch, dass du die Formatierungen mit kopierst.
Wenn, dann müsstest du den Bereich, den du kopieren willst entsprechend ansprechen, kopieren, in der Zieldatei ein neues Blatt einfügen und dort dann die kopierten Daten als Werte wieder einfügen.
Gruß Werner
Anzeige
AW: Arbeitsblatt nur Werte kopieren
07.09.2018 13:22:11
Gerd
Moin Martin,
teste mal.
wkbAkt.Sheets.Add after:=wkbAkt.Sheets(1)  'Nur Arbeitsblatt 1 relevant
wkb.Sheets(1).UsedRange.Copy
ActiveSheet.Range(wkb.Sheets(1).UsedRange.Address).PasteSpecial xlPasteValues
Application.CutCopyMode = False
Gruß Gerd
AW: Arbeitsblatt nur Werte kopieren
11.09.2018 10:19:06
martin
Hallo Gerd,
vielen Dank für deine Antwort. Der Code funktioniert bedingt. Ich bekomme jetzt beide Versionen in meine Arbeitsmappe kopiert. Also einmal nur Werte und einmal mit Formeln. Ich finde einfach nicht lückenlos raus welche Zeile ich ändern/ rausnehmen muss. Evtl. kannst Du nochmal helfen. Hier der Code des gesamten Modul:
Sub AbgerundetesRechteck3_Klicken()
Dim strDatei As String, wkb As Workbook, wkbAkt As Workbook
Dim RNG As Range, WS, Z, strFilter As String
Dim i As Integer, j As Integer, k As Integer
Set wkbAkt = ActiveWorkbook
With Application.FileDialog(msoFileDialogFilePicker) 'Datei öffnen
.AllowMultiSelect = False 'nur eine Datei öffnen erlaubt
If .Show = -1 Then strDatei = .SelectedItems(1)
End With
If strDatei "" Then
Set wkb = Workbooks.Open(strDatei)
wkb.Sheets(1).Copy after:=wkbAkt.Sheets(1) 'Nur Arbeitsblatt 1 relevant
wkbAkt.Sheets.Add after:=wkbAkt.Sheets(1) 'Nur Arbeitsblatt 1 relevant
wkb.Sheets(1).UsedRange.Copy
ActiveSheet.Range(wkb.Sheets(1).UsedRange.Address).PasteSpecial xlPasteValues
Application.CutCopyMode = False
wkb.Close False
End If
For Each WS In ActiveWorkbook.Sheets
If WS.Name "Produktvergleich" Then 'dieses Blatt nicht einblenden
If Not IsEmpty(ActiveSheet.Cells(4, 5)) Then 'Wenn die Zelle E4 nicht leer ist dann...
If strDatei "" Then
ActiveSheet.Name = Cells(4, 5).Text 'Text aus Zelle A1 wird ausgelesen und als Tab-Name verwendet.
End If
End If
End If
Next
Vielen Dank schon mal
Grüße
Martin
Anzeige
AW: Arbeitsblatt nur Werte kopieren
11.09.2018 12:51:08
Werner
Hallo Martin,
hier kopierst du das komplette Blatt, mit Formatierungen/Formeln.
wkb.Sheets(1).Copy after:=wkbAkt.Sheets(1) 'Nur Arbeitsblatt 1 relevant

Nimm diese Zeile aus dem Code raus.
Gruß Werner
AW: Arbeitsblatt nur Werte kopieren
11.09.2018 20:02:35
martin
Hallo nochmal,
wenn ich die Zeile rausnehme und das Makro dann starte, kommt folgende Meldung:
"Für diese Aktion müssen alle verbundenen Zellen die selbe Größe haben"
Der Debugger markiert dabei folgende Zeile:
"ActiveSheet.Range(wkb.Sheets(1).UsedRange.Address).PasteSpecial xlPasteValues"
Weißt Du vielleicht wie ich das noch beheben kann?
Vielen Dank & Grüße
Martin
Anzeige
AW: Arbeitsblatt nur Werte kopieren
12.09.2018 16:30:56
martin
Hat hier niemand eine Lösung? Evtl. muss man auch beide Zeilen drin lassen und dann das Blatt bei dem auch die Formeln mitkopiert wruden nachträglich löschen?! Danke Euch schon mal
AW: Arbeitsblatt nur Werte kopieren
13.09.2018 14:42:36
martin
Zum Haar raufen, es ist nur eine Kleinigkeit, aber ich komme nicht dahinter. Ich würd mich super freuen wenn jemand helfen kann.
Danke und Grüße
Martin
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Arbeitsblatt in Excel nur als Werte kopieren


Schritt-für-Schritt-Anleitung

Um ein Arbeitsblatt in Excel nur als Werte zu kopieren, kannst du ein VBA-Makro verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Wähle im Menü "Einfügen" die Option "Modul", um ein neues Modul zu erstellen.

  3. Kopiere den folgenden Code in das Modul:

    Sub WerteKopieren()
       Dim strDatei As String, wkb As Workbook, wkbAkt As Workbook
       Set wkbAkt = ActiveWorkbook
    
       With Application.FileDialog(msoFileDialogFilePicker)
           .AllowMultiSelect = False
           If .Show = -1 Then strDatei = .SelectedItems(1)
       End With
    
       If strDatei <> "" Then
           Set wkb = Workbooks.Open(strDatei)
           wkb.Sheets(1).UsedRange.Copy
           wkbAkt.Sheets.Add after:=wkbAkt.Sheets(1)
           ActiveSheet.Range("A1").PasteSpecial xlPasteValues
           Application.CutCopyMode = False
           wkb.Close False
       End If
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Führe das Makro aus, um die Werte aus dem ersten Arbeitsblatt der ausgewählten Datei zu kopieren.


Häufige Fehler und Lösungen

  • Fehler: "Für diese Aktion müssen alle verbundenen Zellen die selbe Größe haben"

    • Lösung: Stelle sicher, dass du die Zeile, die das gesamte Blatt kopiert (wkb.Sheets(1).Copy), entfernst. Kopiere nur den verwendeten Bereich mit UsedRange.
  • Fehler: Du erhältst sowohl Werte als auch Formeln.

    • Lösung: Vergewissere dich, dass du die Zeile zum Kopieren des kompletten Arbeitsblatts nicht mehr im Code hast.

Alternative Methoden

Wenn du kein VBA verwenden möchtest, kannst du auch manuell Werte kopieren:

  1. Markiere die Zellen, die du kopieren möchtest.
  2. Klicke mit der rechten Maustaste und wähle "Kopieren".
  3. Wähle die Zielzelle in einem anderen Arbeitsblatt oder einer anderen Datei aus.
  4. Klicke mit der rechten Maustaste und wähle "Inhalte einfügen" > "Werte".

Diese Methode ist besonders nützlich, wenn du schnell einige Werte kopieren möchtest, ohne ein Makro zu erstellen.


Praktische Beispiele

  • Um ein komplettes Blatt zu kopieren, kannst du die Methode mit VBA verwenden, die oben beschrieben wurde.
  • Wenn du nur einige Zellen kopieren möchtest, markiere sie und benutze die "Inhalte einfügen" Option, um sicherzustellen, dass nur die Werte übertragen werden.

Tipps für Profis

  • Automatisierung: Wenn du häufig Werte aus mehreren Arbeitsblättern kopieren musst, erwäge, ein umfassenderes Makro zu erstellen, das diese Aufgabe automatisiert.
  • Verwendung von Shortcut-Tasten: Lerne die Tastenkombinationen für das Kopieren und Einfügen von Werten, um Zeit zu sparen.
  • Speichern von Vorlagen: Erstelle eine Excel-Vorlage mit vorgefertigten Makros, die du immer wieder verwenden kannst.

FAQ: Häufige Fragen

1. Frage: Kann ich ein Arbeitsblatt in eine andere Datei kopieren und nur die Werte einfügen?
Antwort: Ja, du kannst das VBA-Skript anpassen, um das Arbeitsblatt in eine andere Datei zu kopieren und dabei nur die Werte zu übertragen.

2. Frage: Wie kann ich die Formatierung beibehalten, während ich nur die Werte kopiere?
Antwort: Wenn du nur die Werte kopierst, gehen die Formatierungen verloren. Du müsstest die Formatierungen manuell in das neue Blatt einfügen, wenn du sie behalten möchtest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige