Microsoft Excel

Herbers Excel/VBA-Archiv

Format übertragen in bestehendes Makro integrieren


Betrifft: Format übertragen in bestehendes Makro integrieren
von: Sebastian
Geschrieben am: 15.04.2019 09:18:18

Hallo,

ich habe ein Makro, das Zellen kopiert ohne die Bezüge der Formeln zu verschieben.
Es funktioniert einwandfrei, allerdings wäre es eine Erleichterung wenn zusätzlich das Format der Quellzelle mit übernommen werden würde.

Kann mir hiermit jemand weiterhelfen?

Vielen Dank schonmal im Voraus.

Sub FormelnKopieren()
Dim rngQuellbereich As Range
Dim rngZielbereich As Range

    Set rngQuellbereich = Selection

    If Selection.Count = 1 Then
        MsgBox "Bitte markieren Sie die Zellen, aus " & _
        "denen Formeln kopiert werden sollen!", _
        vbCritical + vbOKOnly, "SmartTools Excel Weekly"
        Exit Sub
    End If
    
    If Selection.Areas.Count > 1 Then
        MsgBox "Eine Mehrfachauswahl kann nicht " & _
        "kopiert werden!", vbCritical + vbOKOnly, _
        "SmartTools Excel Weekly"
        Exit Sub
    End If
    
    If IsNull(rngQuellbereich.HasArray) Then
        MsgBox "Arrayformeln können nicht kopiert werden!", _
        vbCritical + vbOKOnly, "SmartTools Excel Weekly"
        Exit Sub
    End If
    
    Set rngZielbereich = Application.InputBox( _
    "Bitte markieren Sie den Bereich, " & _
    "in den Sie die Formeln kopieren möchten:", Type:=8)

    If rngZielbereich.Parent.ProtectContents Then
        MsgBox "Der Zielbereich ist geschützt.", _
        vbCritical + vbOKOnly, "SmartTools Excel Weekly"
        Exit Sub
    End If
    
    If rngQuellbereich.Count <> rngZielbereich.Count Or _
        rngQuellbereich.Rows.Count <> _
        rngZielbereich.Rows.Count Or _
        rngQuellbereich.Columns.Count <> _
        rngZielbereich.Columns.Count Then
        
        MsgBox "Der Zielbereich muss genauso groß sein, " & _
        "wie der markierte Quellbereich!", _
        vbCritical + vbOKOnly, "SmartTools Excel Weekly"
        Exit Sub
    End If
    
    rngZielbereich.FormulaLocal = _
    rngQuellbereich.FormulaLocal
    
End Sub

  

Betrifft: AW: Format übertragen in bestehendes Makro integrieren
von: Werner
Geschrieben am: 15.04.2019 09:40:34

Hallo Sebastian,

so:

rngZielbereich.FormulaLocal = _
rngQuellbereich.FormulaLocal
rngQuellbereich.Copy
rngZielbereich.PasteSpecial Paste:=xlFormats
Application.CutCopyMode = False
Gruß Werner


  

Betrifft: AW: Format übertragen in bestehendes Makro integrieren
von: Sebastian
Geschrieben am: 15.04.2019 10:13:28

Super!

Viele Dank für die schnelle Hilfe.


  

Betrifft: Gerne u. Danke für die Rückmeldung. o.w.T.
von: Werner
Geschrieben am: 15.04.2019 10:14:28