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

Forumthread: Werte und Formate kopieren

Werte und Formate kopieren
Jürgen
Hallo Leute,
ich möchte bestimmte Bereiche aus einem Spielplan/Tabelle in ein Tabellenblatt kopieren.
Dabei sollen jedoch nur die Werte und Formate übernommen werden.
In einigen Zellen sind Formeln, die nach dem Kopieren nicht mehr funktionieren.
Kopiert wird der aktuelle Spieltag (Abfrage per Checkbox), die Tabelle und der folgende Spieltag.
Wie kann ich mein Scipt ändern, damit nur noch die Werte und Formate kopiert werden?
Sub Drucken()
Dim Spieltag As Integer
Worksheets("Druck").Activate
Range("A1:AW442").Select
Selection.EntireRow.Delete
DialogSheets("Spieltageingabe").Show
Spieltag = DialogSheets("Spieltageingabe").EditBoxes(1).Text
Worksheets("Spielplan").Activate
Range("$A$" + Format((Spieltag - 1) * (TeamAnzahl() / 2 + 3) + 1) + ":$J$" + Format(((Spieltag  _
_
- 1) * (TeamAnzahl() / 2 + 3) + 1) + (TeamAnzahl() / 2 + 2))).Copy
Worksheets("Druck").Paste Destination:=Worksheets("Druck").Range("A3")
Worksheets("Tabelle").Activate
Range("A1:$N$" + Format(3 + TeamAnzahl())).Copy
Worksheets("Druck").Paste Destination:=Worksheets("Druck").Range("$A$" + Format(6 + TeamAnzahl( _
_
) / 2))
If DialogSheets("Spieltageingabe").CheckBoxes(1).Value = 1 Then
Worksheets("Spielplan").Activate
Range("$A$" + Format(Spieltag * (TeamAnzahl() / 2 + 3) + 1) + ":$J$" + Format((Spieltag * ( _
TeamAnzahl() / 2 + 3) + 1) + (TeamAnzahl() / 2 + 2))).Copy
Worksheets("Druck").Paste Destination:=Worksheets("Druck").Range("$A$" + Format(3 +  _
TeamAnzahl() / 2 + 3 + TeamAnzahl() + 4))
End If
Worksheets("Druck").Activate
Range("A3:$N$" + Format(TeamAnzahl() / 2 + 8 + TeamAnzahl() + TeamAnzahl / 2 + 3)).Select
Selection.Columns.AutoFit
Selection.Interior.ColorIndex = xlNone
Range("A1").Select
Cells(1, 1).Value = Worksheets("Teams").Cells(1, 5).Value
Worksheets("Druck").Activate
End Sub

Vielen Dank
Jürgen

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Werte und Formate kopieren
09.09.2012 21:41:16
hary
Hallo Juergen
Das geht mit Pastespecial. Muss jeweils in eine eigene Codezeile.

Range("$A$" + Format((Spieltag - 1) * (TeamAnzahl() / 2 + 3) + 1) + ":$J$" + Format(((Spieltag - _
1) * (TeamAnzahl() / 2 + 3) + 1) + (TeamAnzahl() / 2 + 2))).Copy
Worksheets("Druck").Range("A3").PasteSpecial Paste:=xlValues 'Werte einfuegen
Worksheets("Druck").Range("A3").PasteSpecial Paste:=xlPasteFormats 'Formate einfuegen
Application.CutCopyMode = False
End Sub

gruss hary
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Werte und Formate in Excel kopieren mit VBA


Schritt-für-Schritt-Anleitung

Um in Excel Werte und Formate mit VBA zu kopieren, kannst du die PasteSpecial-Methode verwenden. Hier ist eine Schritt-für-Schritt-Anleitung, wie du dein Skript anpassen kannst, um nur die Werte und Formate zu kopieren:

  1. Öffne den VBA-Editor: Drücke ALT + F11 in Excel.
  2. Finde dein Makro: Suche das Makro, das du anpassen möchtest.
  3. Ändere den Code: Ersetze die Kopieranweisungen durch die folgenden Zeilen:
Sub Drucken()
    Dim Spieltag As Integer
    Worksheets("Druck").Activate
    Range("A1:AW442").Select
    Selection.EntireRow.Delete
    DialogSheets("Spieltageingabe").Show
    Spieltag = DialogSheets("Spieltageingabe").EditBoxes(1).Text
    Worksheets("Spielplan").Activate
    Range("$A$" + Format((Spieltag - 1) * (TeamAnzahl() / 2 + 3) + 1) + ":$J$" + Format(((Spieltag - 1) * (TeamAnzahl() / 2 + 3) + 1) + (TeamAnzahl() / 2 + 2))).Copy
    Worksheets("Druck").Range("A3").PasteSpecial Paste:=xlValues 'Werte einfügen
    Worksheets("Druck").Range("A3").PasteSpecial Paste:=xlPasteFormats 'Formate einfügen
    Application.CutCopyMode = False
    ' Weiteren Code hier einfügen
End Sub
  1. Speichere dein Makro und teste es, um sicherzustellen, dass die Werte und Formate korrekt kopiert werden.

Häufige Fehler und Lösungen

  • Fehler: Die Formeln funktionieren nach dem Kopieren nicht mehr.

    • Lösung: Stelle sicher, dass du PasteSpecial mit xlValues und xlPasteFormats verwendest, um nur die Werte und Formate zu kopieren.
  • Fehler: Das Ziel-Blatt wird nicht aktiviert.

    • Lösung: Verwende Worksheets("Druck").Activate, bevor du den Zielbereich angibst.

Alternative Methoden

Falls du keine VBA-Lösung verwenden möchtest, kannst du auch die folgenden Methoden nutzen:

  1. Manuelles Kopieren:

    • Kopiere die Zellen, gehe zu dem Zielbereich, und wähle Start > Einfügen > Inhalte einfügen und wähle dann „Werte“ und „Formate“ aus.
  2. Excel-Funktionen:

    • Nutze die Funktionen =WERT() und =FORMAT(), um Werte und Formate in andere Zellen zu übertragen, jedoch ist dies nicht so effizient wie die VBA-Methode.

Praktische Beispiele

Ein praktisches Beispiel, wo vba pastespecial genutzt wird:

Sub WerteUndFormateKopieren()
    Range("A1:A10").Copy
    Range("B1").PasteSpecial Paste:=xlValues
    Range("B1").PasteSpecial Paste:=xlPasteFormats
    Application.CutCopyMode = False
End Sub

In diesem Beispiel werden die Werte und Formate von Zellen A1 bis A10 nach B1 kopiert.


Tipps für Profis

  • Vermeide das Selektieren von Zellen: Du kannst direkt auf die Bereiche verweisen, um den Code effizienter zu gestalten. Beispiel:
    Worksheets("Druck").Range("A3").PasteSpecial Paste:=xlValues
  • Verwende Fehlerbehandlung: Implementiere On Error Resume Next, um Laufzeitfehler zu vermeiden, wenn das Skript auf unerwartete Situationen trifft.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass nur die Werte kopiert werden?
Stelle sicher, dass du die PasteSpecial-Methode mit xlValues verwendest.

2. Was passiert, wenn ich keine Formate kopiere?
Wenn du nur die Werte kopierst, gehen alle Formatierungen verloren, und die Zellen werden in Standardformaten angezeigt.

3. Kann ich das in einer bestimmten Excel-Version verwenden?
Ja, die oben genannten Methoden sind in den meisten aktuellen Excel-Versionen verfügbar, die VBA unterstützen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige