Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makros nur in bestimmten Zeilen zur Ausführung

Makros nur in bestimmten Zeilen zur Ausführung
16.03.2015 07:32:42
Matthias
Hallo,
ich habe drei Probleme mit Makro ist aber nur in bestimmten Bereichen ausgeführt werden sollen.Es soll dabei so sein, dass die Funktionen nur in den Zeilen A5 bis A20 zur Anwendung kommen. Wenn ich jedoch eine Zeile einfüge, erweitert sich der Bereich.
1) Aktive Zeile hervorheben
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
ActiveSheet.Unprotect Password:="sperl"
ActiveSheet.UsedRange.EntireRow.Interior.ColorIndex = xlNone
Selection.EntireRow.Interior.ColorIndex = 24
ActiveSheet.Protect Password:="sperl"
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True
End Sub

2)Zeile einfügen
Sub ZeileEinfügen()
Worksheets("Aufstellung Brandschutzklappen").Unprotect Password:="sperl"
Dim ws As Worksheet, wsV As Worksheet, z%
Set ws = ActiveSheet
Set wsV = ThisWorkbook.Worksheets("Datensatz")
Selection.EntireRow.Insert Shift:=xlDown
z = ActiveCell.Row
wsV.Rows("5:5").Copy ws.Range("A" & z)
Worksheets("Aufstellung Brandschutzklappen").Protect Password:="sperl"
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True
End Sub
3) Zeilenhöhe definieren.
Sub AutoEinstellung()
On Error Resume Next
With ActiveSheet
.Columns.AutoFit
.Rows.AutoFit
End With
End Sub
All diese Makros sollen nur in einem bestimmten Bereich gelten

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Makros nur in bestimmten Zeilen zur Ausführung
16.03.2015 07:46:28
Hajo_Zi
es können ja auch mehr als eine Zelle ausgewählt werden.
Option Explicit                                     ' Variablendefinition erforderlich
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim RaBereich As Range                          ' Variable für Bereich
Dim RaZelle As Range                            ' Variable für Zelle
Set RaBereich = Range("L22:M39, O21:O26")       ' Bereich der Wirksamkeit
Set RaBereich = Intersect(RaBereich, Range(Target.Address))
If Not RaBereich Is Nothing Then
'ActiveSheet.Unprotect ("Passwort")
For Each RaZelle In RaBereich
With RaZelle
.Interior.Color = 65535     ' Füllfarbe Gelb
.NumberFormat = "General"
End With
Next RaZelle
'ActiveSheet.protect ("Passwort")
End If
Set RaBereich = Nothing                         ' Variable leeren
End Sub

Anzeige

340 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige