Clever-Excel-Forum

Normale Version: 2 Kopiermakros funktionieren nicht miteinander
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo an die Gemeinde 

ich habe mir ein Kopiermakro geschrieben was wie folgt ausssieht
----------------------------------------------------------------------------------------------------------------------------------
Option Explicit

Public Stop_SheetSelectionChange As String

Sub neuerTag()

Stop_SheetSelectionChange = "0"
'
' neuerTag Makro
'

'
    Range("B8:E9").Select
    Selection.Copy
    Range("Y17:AB18").Select
    ActiveSheet.Paste
    Range("B8:E9").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    Range("AB17:AB18").Select
    Selection.Copy
    Range("B8:B9").Select
    ActiveSheet.Paste
    Range("B4:E6").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    Range("B19:E20").Select
    Selection.ClearContents
    Range("B25:E26").Select
    Selection.ClearContents
    Range("C11:D17").Select
    Selection.Copy
    Range("D11:E17").Select
    ActiveSheet.Paste
    Range("D11:E17").Select
    Selection.Copy
    Range("B11:C17").Select
    ActiveSheet.Paste

Application.CutCopyMode = False
Stop_SheetSelectionChange = "1"

End Sub

------------------------------------------------------------------------------------------------------------------------------

Das zweite Makro welches in der Arbeitsmappe hinterlegt ist und so aussieht

------------------------------------------------------------------------------------------------------------------------------

Option Explicit

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

 If Sh.Name <> "komplett" Then Exit Sub
 
If Stop_SheetSelectionChange = "0" Then Exit Sub
 
    If Not Intersect(Target, Sh.Columns("N")) Is Nothing Then
    
      Target.Copy
        
      If Not Target Is Nothing Then
       
        If Application.CutCopyMode = xlCopy Then
                   
          'Target.PasteSpecial xlPasteValues, xlPasteSpecialOperationNone
        End If
       
        Application.CutCopyMode = False
      End If
  End If
 
End Sub


------------------------------------------------------------------------------------------------------------------------

Leider kopiert das erste immer die bedingte Formatierung mit und bringt sie damit im kompletten Sheet durcheinander.
Value Paste und Paste Special habe ich probiert geht aber irgendwie nicht.

anbei hefte ich die Datei in der das Makro beim drücken von dem roten X ausgeübt wird für noch nähere Details.

Vielen Dank schon mal für jeden Tip oder Hilfe !
Hallöchen,

was bedeutet genau
Zitat:Value Paste und Paste Special habe ich probiert geht aber irgendwie nicht.

Hast Du mal die Aktion aufgezeichnet und beide Codes verglichen?
Hallo
dein 1. Code hat kein PasteSpecuial, ich habe ihn mal umgeschrieben.  Die Public Variable habe ich gilöscht, das geht eleganter mit EnableEvents!
Was dein zweiter Copy genau macht ist mir noch nicht ganz klar. Er kopiert, aber bedingte Formatierungen sollten davon inberührt bleiben"
mfg Gast 123
Code:
Sub neuerTag()
On Error GoTo Fehler
    Application.EnableEvents = False
    Range("B8:E9").Copy
    Range("Y17:AB18").PasteSpecial xlPasteValues
   
    Range("B8:E9").ClearContents
    Range("AB17:AB18").Copy
    Range("B8:B9").PasteSpecial xlPasteValues
   
    Range("B4:E6").ClearContents
    Range("B19:E20").ClearContents
    Range("B25:E26").ClearContents
   
    Range("C11:D17").Copy
    Range("D11:E17").PasteSpecial xlPasteValues
    Range("B11:C17").PasteSpecial xlPasteValues
Ende:
    Application.CutCopyMode = False
    Application.EnableEvents = True
Exit Sub

Fehler: MsgBox "unerwarteter Fehler" & vbLf & Error(): GoTo Ende
End Sub
aufzeichnen über den Rekorder geht leider nicht da ich auf die rechte Maustaste durch den ersten Code keinen Zugriff mehr habe.
Der zweite Code tauscht Zelleninhalte automatisch und löscht einige Zellen.
Hallöchen,
Zum Aufzeichnen braucht man die rechte Maustaste nicht. Zuweilen hast du unten links ein Aufzeichnungssymbkl, zum Anderen kannst du die Aufzeichnung im Reiter Entwicklertools starten