Microsoft Excel

Herbers Excel/VBA-Archiv

Drag an Drop wiederherstellen

Betrifft: Drag an Drop wiederherstellen von: caro
Geschrieben am: 13.11.2014 09:23:39

Hallo zusammen
Mit diesem (gegoogelten) Code sollte die drag and drop Funktion für Zellen in einer Arbeitsmappe deaktiviert werden, bei Schliessen der Datei aber automatisch wieder aktiviert werden. Nun funktioniert das Deaktivieren bestens, leider bleibt die drag and drop Funktion in Excel aber danach deaktiviert. Was muss ich ändern?
Danke für Hinweise und Gruss
Caro

Option Explicit
Dim bolDRAGnDrop As Boolean

Private Sub Workbook_Activate()
bolDRAGnDrop = Application.CellDragAndDrop
Application.CellDragAndDrop = False
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CellDragAndDrop = bolDRAGnDrop
End Sub
Private Sub Workbook_Deactivate()
Application.CellDragAndDrop = bolDRAGnDrop
End Sub
Private Sub Workbook_Open()
bolDRAGnDrop = Application.CellDragAndDrop
Application.CellDragAndDrop = False

End Sub

  

Betrifft: AW: Drag an Drop wiederherstellen von: Mullit
Geschrieben am: 13.11.2014 10:18:01

Hallo,

Workbook_Open und Workbook_Activate werden beim Öffnen der Mappe beide gefeuert, dadurch erhält bolDRAGnDrop erst den Wert true dann aber nach dem 2.Event den Wert false.

Du könntest die boolesche Variable auch komplett entfernen:

Option Explicit

Private Sub Workbook_Activate()
Application.CellDragAndDrop = False
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CellDragAndDrop = True
End Sub

Private Sub Workbook_Deactivate()
Application.CellDragAndDrop = True
End Sub

Private Sub Workbook_Open()
Application.CellDragAndDrop = False
End Sub

Gruß,


  

Betrifft: AW: Drag an Drop wiederherstellen von: Martin S.
Geschrieben am: 13.11.2014 10:18:52

Hallo Caro,

ich habe die Boolean-Variable aus deinem Code entfernt. Setze folgenden Code ein, dann sollte alles klappen:

Private Sub Workbook_Activate()
    Application.CellDragAndDrop = False
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.CellDragAndDrop = True
End Sub
Private Sub Workbook_Deactivate()
    Application.CellDragAndDrop = True
End Sub
Private Sub Workbook_Open()
    Application.CellDragAndDrop = False
End Sub
Viele Grüße

Martin


  

Betrifft: AW: Drag an Drop wiederherstellen von: caro
Geschrieben am: 13.11.2014 10:38:32

Danke Mullit und MArtin! So funktioniert's perfekt!
Gruss
Caro


 

Beiträge aus den Excel-Beispielen zum Thema "Drag an Drop wiederherstellen"