Thema von gestern...
18.05.2003 12:28:30
L.Vira
markieren, abgespeckte Variante mit festem Bereich:
''Tabellenmodul:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveSheet.ProtectContents Or _
ActiveSheet.ProtectDrawingObjects Then
MsgBox "Heben Sie zunächst den Blattschutz auf! ", 64, "weise hin..."
Exit Sub
End If
Application.EnableEvents = False
On Error GoTo Ende
Call Rahmen_um_Selektion
Ende:
Application.EnableEvents = True
End Sub''"normales" Modul
Option Explicit
Dim Sh As Shape
Sub Rahmen_um_Selektion()
Dim aC As Range, s As Integer, r As Integer
If TypeName(Selection) <> "Range" Then Exit Sub
Set aC = ActiveCell
Call entfernen
Select Case aC.Column
Case 1: s = 0: r = 3
Case 2: s = 1: r = 4
Case 255: s = 2: r = 4
Case 256: s = 2: r = 3
Case Else: s = 2: r = 5
End Select
aC.Offset(0, -s).Resize(1, r).Select
With Selection
Set Sh = ActiveSheet.Shapes.AddShape(1, .Left, .Top, .Width, .Height)
End With
Sh.Line.Weight = 1.47
Sh.Line.ForeColor.SchemeColor = 53
Sh.Fill.Visible = msoFalse
aC.Select
Set aC = Nothing
End Sub
Sub entfernen()
For Each Sh In ActiveSheet.Shapes
With Sh
If .Type = 1 And .Line.Weight = 1.47 And _
.Line.ForeColor.SchemeColor = 53 Then
.Delete
End If
End With
Next
End Sub