Microsoft Excel

Herbers Excel/VBA-Archiv

Worksheet_SelectionChange bzw. Interior

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


  

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


  

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


  

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


  

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