Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Formatierung der Bezugszelle übernehmen

Formatierung der Bezugszelle übernehmen
05.03.2009 15:24:10
Mirko
Hallo Forum
folgendes Problem steht im Raum:
kann eine Zelle, die auf eine andere Zelle verweist (A1: =A2) auch deren Formatierungen (Zahlenformat, Farbe, Rahmen etc) mit übernehmen?
Falls es per nur per VBA gehen sollte, freue ich mich auch über ein paar Codezeilen ;-)
Vielen Dank im Voraus
Mirkos
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formatierung der Bezugszelle übernehmen
05.03.2009 15:42:31
Tino
Hallo,
wenn es so banale Formeln sind wie in Deinem Beispiel geht’s einfach.
Sind es andere Formel wird es schwieriger, eventuell müsste sogar die Formel
im VBA nachgebaut werden um zu erfahren wo das Ergebnis herkommt.
Beispiel geht nur wenn im Spalte B z. Bsp. in B1 =Z1 steht.
kommt als Code in die entsprechende Tabelle1
Private Sub Worksheet_Calculate() 
Dim Bereich As Range, rngTemp As Range 
 
With Application 
 .ScreenUpdating = False 
 .EnableEvents = False 
 
  With Sheets("Tabelle1") 
    Set Bereich = .Columns(2) 'Spalte mit der Formel 
     
    For Each Bereich In Bereich.SpecialCells(xlCellTypeFormulas) 
        On Error Resume Next 
         Set rngTemp = Range(Replace(Bereich.FormulaLocal, "=", "")) 
        On Error GoTo 0 
         
        If Not rngTemp Is Nothing Then 
            .Range(Replace(Bereich.FormulaLocal, "=", "")).Copy 
            Bereich.PasteSpecial xlPasteFormats 
        End If 
     
    Next Bereich 
   End With 
 .CutCopyMode = False 
 .ScreenUpdating = True 
 .EnableEvents = True 
End With 
End Sub 
 
 


Gruß Tino

Anzeige
AW: Formatierung der Bezugszelle übernehmen
05.03.2009 15:55:34
Mirko
Hi Tino
Erst mal vielen Dank! Werde es gleich mal ausprobieren...
in "echt" sind die zwei Bereiche auf unterschiedlichen Blättern in unterschiedlichen Mappen, also
Original: [Mappe1]Tabelle1!A1
Kopie: [Mappe2]Tabelle1!A1
Werde mal versuchen, das ganze anzupassen, aber nu is erst mal Feierabend und ich nehme es mit nach Hause, in "Ruhe" weiterbasteln ;-)
Vielen Dank nochmal
Mirkos
Anzeige
AW: Formatierung der Bezugszelle übernehmen
05.03.2009 16:00:24
selli
hallo mirko,
um welche formatierungen geht es dir denn genau?
du könntest auch aus der steuerelemente symbolleiste ein bezeichnungsfeld nehmen und in der bearbeitungszeile den verweis auf deine originalzelle eintragen.
das bezeichnungsfeld übernimmt schriftfarbe, zellfarbe, schriftgröße, schriftart usw.
gruß selli
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Formatierung der Bezugszelle übernehmen in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne die Excel-Datei, in der Du die Formatierung der Bezugszelle übernehmen möchtest.

  2. Stelle sicher, dass Du die VBA-Entwickleroptionen aktiviert hast. Gehe dazu auf "Datei" > "Optionen" > "Menüband anpassen" und aktiviere "Entwicklertools".

  3. Klicke auf "Entwicklertools" und dann auf "Visual Basic".

  4. Füge im Visual Basic-Editor ein neues Modul hinzu, indem Du mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" klickst und "Einfügen" > "Modul" auswählst.

  5. Kopiere den folgenden VBA-Code in das Modul:

    Private Sub Worksheet_Calculate() 
       Dim Bereich As Range, rngTemp As Range 
    
       With Application 
           .ScreenUpdating = False 
           .EnableEvents = False 
    
           With Sheets("Tabelle1") 
               Set Bereich = .Columns(2) ' Spalte mit der Formel 
    
               For Each Bereich In Bereich.SpecialCells(xlCellTypeFormulas) 
                   On Error Resume Next 
                   Set rngTemp = Range(Replace(Bereich.FormulaLocal, "=", "")) 
                   On Error GoTo 0 
    
                   If Not rngTemp Is Nothing Then 
                       .Range(Replace(Bereich.FormulaLocal, "=", "")).Copy 
                       Bereich.PasteSpecial xlPasteFormats 
                   End If 
               Next Bereich 
           End With 
           .CutCopyMode = False 
           .ScreenUpdating = True 
           .EnableEvents = True 
       End With 
    End Sub
  6. Schließe den VBA-Editor und teste die Funktion, indem Du die Zelle, die auf eine andere verweist, aktualisierst.


Häufige Fehler und Lösungen

  • Problem: Die Formatierung wird nicht übertragen.

    • Lösung: Stelle sicher, dass die Zelle, auf die verwiesen wird, tatsächlich das gewünschte Format hat und dass das VBA-Skript korrekt in das richtige Modul eingefügt wurde.
  • Problem: VBA funktioniert nicht auf verschiedenen Blättern oder Mappen.

    • Lösung: Achte darauf, dass Du den richtigen Verweis auf die Blätter in Deinem VBA-Code angibst. Wenn Du Zellen aus unterschiedlichen Mappen formatieren möchtest, musst Du den vollständigen Verweis verwenden, z. B. [Mappe1]Tabelle1!A1.

Alternative Methoden

Wenn Du keine VBA-Lösungen verwenden möchtest, kannst Du auch das Bezeichnungsfeld aus der Steuerlemente-Symbolleiste nutzen. Damit kannst Du den Zellbezug so einstellen, dass Schriftfarbe, Zellfarbe, Schriftgröße und Schriftart automatisch übernommen werden.

  1. Gehe zu "Entwicklertools" > "Einfügen" und wähle das Bezeichnungsfeld aus.
  2. Klicke mit der rechten Maustaste auf das Bezeichnungsfeld und wähle "Steuerelement formatieren".
  3. Im Bearbeitungsfeld trage den Verweis auf die Originalzelle ein.

Praktische Beispiele

  • Beispiel 1: Wenn Du in Zelle B1 den Wert von A1 aus "Tabelle1" übernehmen möchtest, jedoch auch die Formatierung, dann erstelle die Formel =A1 in B1 und führe das oben beschriebene VBA-Skript aus.

  • Beispiel 2: Um die Formatierung von Zelle A1 in "Mappe1" auf Zelle A1 in "Mappe2" zu übernehmen, musst Du den VBA-Code anpassen, um die spezifischen Mappen und Blätter korrekt zu referenzieren.


Tipps für Profis

  • Verwende die PasteSpecial-Funktion, um nicht nur die Werte, sondern auch die Formatierungen zu übernehmen.
  • Teste den VBA-Code mit verschiedenen Zellformaten, um sicherzustellen, dass alle gewünschten Formate korrekt übernommen werden.
  • Halte Deine Excel-Version auf dem neuesten Stand, um sicherzustellen, dass alle Funktionen und VBA-Scripte optimal funktionieren.

FAQ: Häufige Fragen

1. Kann ich die Formatierung von einer Zelle auf mehrere Zellen übertragen? Ja, Du kannst den VBA-Code so anpassen, dass er auf eine gesamte Spalte oder Zeile angewendet wird, indem Du die Range entsprechend erweiterst.

2. Übernimmt der Excel-Verweis auch bedingte Formatierungen? Nein, bedingte Formatierungen werden nicht automatisch übernommen. Du musst diese separat einrichten.

3. Wie kann ich die Formatierung einer Zelle automatisch übernehmen? Du kannst das VBA-Skript so anpassen, dass es bei bestimmten Ereignissen automatisch ausgeführt wird, wie z. B. beim Ändern der Zelle.

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