Anzeige
Archiv - Navigation
1644to1648
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Code Trennen

VBA Code Trennen
26.09.2018 09:27:49
Uwe
Hallo
ich hab da ein Code wo ich viele Zellen eintragen muss. Wie kann ich ihn Teilen.
mfg Uwe

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'ActiveSheet.Unprotect Password:=""
If Not Intersect([B1:F2,H1:L2,N1:R2,T1:X2,Z1:AD2,AF1:AJ2,AL1:AP2,AR1:AV2,AX1:BB2,BD1:BH2,B4:B5,  _
_
_
_
H4:H5,N4:R5,T4:T5,Z4:AD5,AF4:AJ5,AL4:AP5,AR4:AV5,AX4:BB5,BD4:BH5], Target) Is Nothing Then
If Target.Interior.ColorIndex = 13 Then
Target.Interior.ColorIndex = x1None
Else
Target.Interior.ColorIndex = 13
End If
Cancel = True
'ActiveSheet.Protect Password:=""
End If
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Code Trennen
26.09.2018 09:42:08
Nepumuk
Hallo Uwe,
meinst du so?
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim objWatchRange As Range
Set objWatchRange = Range("B1:F2,H1:L2,N1:R2,T1:X2,Z1:AD2,AF1:AJ2,AL1:AP2,AR1:AV2,AX1:BB2")
Set objWatchRange = Union(objWatchRange, Range("BD1:BH2,B4:B5,H4:H5,N4:R5,T4:T5,Z4:AD5"))
Set objWatchRange = Union(objWatchRange, Range("AF4:AJ5,AL4:AP5,AR4:AV5,AX4:BB5,BD4:BH5"))
If Not Intersect(objWatchRange, Target) Is Nothing Then
'Me.Unprotect Password:=""
If Target.Interior.ColorIndex = 13 Then
Target.Interior.ColorIndex = x1None
Else
Target.Interior.ColorIndex = 13
End If
Cancel = True
'Me.Protect Password:=""
End If
Set objWatchRange = Nothing
End Sub

Gruß
Nepumuk
Anzeige
Nachtrag
26.09.2018 09:44:27
Nepumuk
Nochmal Hallo,
die Konstante:
x1None
ist falsch. Benutze diese:
xlColorIndexNone
Gruß
Nepumuk
AW: betriftt Konstante
26.09.2018 09:50:02
Daniel
macht nix.
beide Konstanten haben den gleichen Wert -4142
technisch ist es also egal, welche der beiden konstanten man verwendet.
Gruß Daniel
AW: betriftt Konstante
26.09.2018 10:02:53
Nepumuk
Hallo Daniel,
x1None ist falsch geschrieben. Da gehört keine 1 rein.
Gruß
Nepumuk
AW: Nachtrag
26.09.2018 09:53:28
Uwe
Vielen dank für deine hilfe
mfg Uwe
AW: VBA Code Trennen
26.09.2018 09:47:10
Daniel
Hi
Arbeite hier mit einer Variablen und setze die Variable mit UNION aus mehreren Bausteinen zusammen:
dim rng as range
set rng = Range("B1:F2,H1:L2,N1:R2,T1:X2,Z1:AD2,AF1:AJ2,AL1:AP2,AR1:AV2,AX1:BB2,BD1:BH2")
set rng = Union(rng, Range("B4:B5,H4:H5,N4:R5,T4:T5,Z4:AD5,AF4:AJ5,AL4:AP5,AR4:AV5,AX4:BB5,BD4: _
BH5"))
if not Intersect(rng, Target) is nothing then
der Addressbereich von Range darf maximal 256 Zeichen lang sein, entsprechend solltest du die Blöcke bilden.
wenn das ganze ein regelmäßiges Muster bildet, dh in allen Zeilen sind die gleichen Spalten relevant (ist bei dir nicht der Fall, könnte aber ein Tippfehler sein), dann ggf auch über Intersect:
set rng = Intersect(Range("1:2,4:5"), Range("B:F,N:R,T:X,Z:AD,AF:AJ,AL:AP,AR:AV,AX:BB,BD:BH"))
if not intersect(rng, Target) is nothing then
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige