Herbers Excel-Forum - das Archiv

Worksheet_SelectionChange bzw. Interior

Bild

Betrifft: Worksheet_SelectionChange bzw. Interior
von: Benjamin

Geschrieben am: 25.05.2008 19:26:57

Hallo zusammen,
ich habe einen kleinen VBA-Schnippsel zusammengebaut, der in einem bestimmten Zellbereich die Zeilen- und Spaltenbeschriftungen farblich füllt. Das klappt auch so, wie ich es mir gewünscht habe.
ABER:
Jetzt funktioniert copy&paste nicht mehr?
Hat jemand dazu eine Idee??
Vielen, Vielen Dank im voraus!
Viele Grüße
Benjamin

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Column > 20 And ActiveCell.Column < 71 Then
Range("U5:BR5").Interior.ColorIndex = none
Cells(5, ActiveCell.Column).Interior.ColorIndex = 43
Else
Range("U5:BR5").Interior.ColorIndex = none
End If
If ActiveCell.Row > 5 And ActiveCell.Row < 78 Then
Range("E5:E77").Interior.ColorIndex = none
Cells(ActiveCell.Row, 5).Interior.ColorIndex = 43
Else
Range("E5:E77").Interior.ColorIndex = none
End If
End Sub


Bild

Betrifft: AW: Worksheet_SelectionChange bzw. Interior
von: Kuwe

Geschrieben am: 25.05.2008 19:54:08
Hallo Benjamin,
sobald VBA-Code ausgeführt wird,
ist die Zwischenablage leer.
Ebenso sind dadurch auch keine
Rückgängig-Schritte mehr verfügbar.
Willst Du in Deinem konkreten Fall etwa Kopieren/Einfügen,
musst Du vorübergehend den Entwurfsmodus einschalten.
Gruß Uwe

Bild

Betrifft: AW: Worksheet_SelectionChange bzw. Interior
von: Reinhard

Geschrieben am: 25.05.2008 19:58:40
Hi Benjamin,
probiers mal so, funktionierrt zumindest bei Text in der Zwischenablage:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim MyData As New DataObject, Merker
MyData.GetFromClipboard
Merker = MyData.GetText(1)
Range("U5:BR5").Interior.ColorIndex = none
Range("E5:E77").Interior.ColorIndex = none
If ActiveCell.Column > 20 And ActiveCell.Column < 71 Then _
Cells(5, ActiveCell.Column).Interior.ColorIndex = 43
If ActiveCell.Row > 5 And ActiveCell.Row < 78 Then _
Cells(ActiveCell.Row, 5).Interior.ColorIndex = 43
MyData.SetText Merker
MyData.PutInClipboard
End Sub


Gruß
Reinhard

Bild

Betrifft: AW: Worksheet_SelectionChange bzw. Interior
von: Johann
Geschrieben am: 25.05.2008 20:00:28
Hallo Benjamin!
Du kannst auf jeden Fall noch über die Office-Zwischenablage kopieren und einfügen.
MfG
Johann

Bild

Betrifft: AW: Worksheet_SelectionChange bzw. Interior
von: Benjamin
Geschrieben am: 25.05.2008 20:05:54
Super, vielen Dank für die Lösungen!
Es funktioniert :-)
Schönen Abend!
Benjamin

 Bild