Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1340to1344
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 Makro ausführen wenn Feld geändert wird

VBA Makro ausführen wenn Feld geändert wird
27.11.2013 15:16:03
Tobias
Hallo,
ich bin gerade dabei ein Makro zu erstellen, dass wenn ein Wert in einem Feld geändert wird ein Makro ausgelöst wird.
Folgender Code habe ich schon erstellt:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B1")) Is Nothing Then Aktualisieren
If Not Intersect(Target, Range("C5")) Is Nothing Then Aktualisieren
End Sub
Es funktioniert auch soweit, dass wenn im Feld B1 und C5 etwas geändert wird das Makro ausgelöst wird
Nun jedoch meine Frage:
Es soll nicht nur im Feld C5 bei einer Änderung das Makro ausgelöst werden, sondern im Bereich von C5 - C70.
Wie muss hierzu der Code heißen?
Gruß
Tobias

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Makro ausführen wenn Feld geändert wird
27.11.2013 15:22:36
GuentherH
ersetze "C5" duch "C5:C70"
beste Grüße,
Günther

AW: VBA Makro ausführen wenn Feld geändert wird
27.11.2013 15:25:14
Hajo_Zi
Hallo Tobias,
Option Explicit                                     ' Variablendefinition erforderlich
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("L22:M39, O21:O26")       ' Bereich der Wirksamkeit
' noch mehr Bereiche
'Set RaBereich = Union(Range("C11:AG11 , C13:AG13, C15:AG15 , C17:AG17"), _
'    Range("C35:AE35, C37:AE37, C43:AG43, C45:AG45 , C47:AG47 , C49:AG49"), _
'    Range("C67:AF67 , C69:AF69 , C75:AG75 , C77:AG77 , C79:AG79 , C81:AG81"), _
'    Range("C99:AF99 , C101:AF101, C107:AG107 , C109:AG109 , C111:AG111"), _
'    Range("C127:AG127 , C129:AG129 , C131:AG131 , C133:AG133 , C139:AF139"), _
'    Range("C155:AG155, C157:AG157 , C159:AG159 , C161:AG161 , C163:AG163"), _
'    Range("C179:AF179 , C181:AF181, C187:AG187 , C189:AG189 , C191:AG191"))
Set RaBereich = Intersect(RaBereich, Target)
If Not RaBereich Is Nothing Then
'ActiveSheet.Unprotect ("Passwort")
Aktualisieren
'ActiveSheet.protect ("Passwort")
End If
Set RaBereich = Nothing                         ' Variable leeren
End Sub

Anzeige
AW: VBA Makro ausführen wenn Feld geändert wird
27.11.2013 15:55:52
Tobias
Hallo,
Danke für die schnellen Antworten.
Leider funktioniert es noch nicht.
Ich glaube ich muss es noch genauer erklären:
In dem Bereich C5 - C70 stehen z.B. Automarken, die man über eine DropDown-Liste auswählen kann, wenn nun
die Automarke ausgewählt wird löst es ein Makro aus, das im daneben stehenden Feld (D) eine DropDown-Liste mit den dazugehörigen Modellen anzeigt.
Bsp:
C1: VW
D1: Passat, Polo, Golf,...
C2: Audi
D2: A3, A4, A6,...
Wenn ich nun im Code den Bereich "C5:C70" schreibe, zeigt es mir im Feld D1 zwar die Modelle von VW an und im Feld D2 ebenfalls die Modelle von VW und nicht die von Audi.
Wie muss ich nun den Bereich festlegen, damit immer entsprechend die Modelle zur Automarke angezeigt werden.
Ich hoffe, dass ist verständlich erklärt :)
Danke und Grüße
Tobias

Anzeige
AW: VBA Makro ausführen wenn Feld geändert wird
27.11.2013 16:17:23
Tobias
Hallo,
sorry, mein Fehler.
Ich hab den Fehler erkannt. Er liegt an einer anderen Stelle.

327 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige