Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1612to1616
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

Makro auf spalte B soll erst in Zeile 5 Beginnen

Makro auf spalte B soll erst in Zeile 5 Beginnen
09.03.2018 14:01:12
Michael
Hi
Ich habe schon einen Beitrag gemacht, da gieng aber irgendetwas schief.
Keine ahnung ob der Beitrag überhaubt rausgieng, wenn ja ist er unvollständig.
Ich habe ein Excel (excel 2016) mit einem Makro welches diverse dinge tut wenn in Spalte B etwas eingegeben wird bzw. die Werte geändert werden.
Dazu verwende ich folgenden Code:
Private Sub Worksheet_change(ByVal Target As Range)
Dim SpalteB As Range
'Dim setzt SpalteB als Variable, As ist schlüsselwort und setzt SpalteB als Bereich
'SpalteB ist frei wählbar aber keine Leerschläge und keine Spezialzeichen (z.B. , . ; : etc.)
Dim Kopf As Range
'gleich wie bei Spalte B Nur hier für Kopf
Set SpalteB = Range("B:B")
'Set ordnet der Variable SpalteB ihren Wert zu hier den Bereich Spalte B
Set Kopf = Range("B1:B5")
'setzt für Kopf den Bereich Zellen B1 bis B5
If Intersect(Target, SpalteB) Is Nothing Then Exit Sub
'wenn die aktive Zelle nicht im Bereich SpalteB ist Makro beenden
If ...dass dann mach dies und sonst mach jenes
Nun möchte ich aber das Wenn in Spalte B in den ersten 4 Zeilen etwas gemacht wird dieses makro nicht ausgeführt wird weil da der Dokumentenkopf und spaltenbeschriftungen etc. sind.
Meine Idee war in den Code etwas Einzugbauen dass im sagt wenn die Aktive zelle sich im Bereich B1:B4 befindet er das Makro beenden soll (änhlich der Intersect anweisung die im sagt das er das makro beenden soll wenn die Aktive Zelle nicht in Spalte B ist). Ich weiss aber nicht wie ich das hinkriege und vielleicht gibts ja noch eine Bessere lösung.
Gruss Michael

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro auf spalte B soll erst in Zeile 5 Beginnen
09.03.2018 14:09:40
Hajo_Zi
Hallo Michael,
Private Sub Worksheet_Change(ByVal Target As Range)
Dim RaBereich As Range                          ' Variable für Bereich
Dim RaZelle As Range                            ' Variable für Zelle
Set RaBereich = Range("B4:B1048576")            ' Bereich der Wirksamkeit
Set RaBereich = Intersect(RaBereich, Target)
If Not RaBereich Is Nothing Then
'ActiveSheet.Unprotect ("Passwort")
For Each RaZelle In RaBereich

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Anzeige
AW: Makro auf spalte B soll erst in Zeile 5 Beginnen
09.03.2018 14:12:31
Daniel
Hi
naja, die Antwort steht doch schon fast im Code, du musst ihn nur entsprechend variieren:
Damit brichst du ab, wenn die eingabe nicht in Spalte B erfolgt:
If Intersect(Target, SpalteB) Is Nothing Then Exit Sub
Wenn du abbrechen willst, wenn die eingabe in den ersten 4 Zeilen erfolgt dann:
If Not intersect(Target, Range("1:4")) Is Nothing then Exit Sub
oder du fragst einfach die Zeilennummer der Eingabezelle ab:
If Target.Row 
eine dieser beiden Abbruchbedingungen musst du noch zu deinem Code hinzufügen.
Gruß Daniel
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige