Anzeige
Archiv - Navigation
856to860
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
856to860
856to860
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro nach Zelländerung in einem Bereich starten

Makro nach Zelländerung in einem Bereich starten
25.03.2007 11:45:26
Fritz_W
Hallo Forumsbesucher,
mit welcher Anweisung kann ich erreichen, dass ein Makro ausgeführt wird, wenn sich in der Tabelle3 irgendein Wert (Zelleintrag) im Bereich D2:D51 ändert?
Vielen Dank für eure Unterstützung.
mfg
Fritz

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro nach Zelländerung in einem Bereich starten
25.03.2007 11:54:50
Josef
Hallo Fritz,
das geht so.
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("D2:D52")) Is Nothing Then
    
    On Error GoTo ErrExit
    Application.EnableEvents = False
    
    'dein Code
    
End If

ErrExit:
Application.EnableEvents = True
End Sub

Gruß Sepp
Anzeige
@Sepp
25.03.2007 13:39:00
Fritz_W
Hallo Sepp,
bitte um Entschuldigung, wenn ich versuche in einer früheren Angelegenheit dich auf diese Weise noch einmal zu kontaktieren. Der Thread existiert leider inzwischen nicht mehr und ich hätte noch einen Wunsch.
Da die beigefügte Datei von Dir stammt, wende ich mich direkt an Dich.
In der beigefügten Datei würde ich gerne erreichen, dass die Summe aller in der Tabelle "Master" in der Spalte E ab Zeile 2 eingetragenen Anmeldungen in der Zelle F2 eingetragen wird, also so dass sich bei jeder neuen Anmeldung der eingetragenen Wert um jeweils 1 erhöht. Ich weiß, dass ich das auch über eine Formel in F1 erreichen könnte, aber ich würde die VBA-Lösung bevorzugen.
Im Voraus vielen Dank für die Unterstützung.
Gruß
Fritz
https://www.herber.de/bbs/user/41380.xls
Anzeige
AW: @Sepp
25.03.2007 14:00:00
Fritz_W
Hallo Sepp,
ja vielen Dank, klappt wie gewünscht.
Hatte vorhin vergessen, die folgende Frage anzufügen, die imich eigentlich interessiert und die
ich deshalb stelle, weil hoffe, dadurch etwas lernen zu können. Ich setze dabei jedoch voraus, dass nur eine geringfügige Änderung des Codes vorgenommen wurde. Wenn ja, welche Änderung im Code musstest Du vornehmen?
Gruß
Fritz
Anzeige
AW: @Sepp
25.03.2007 14:04:03
Josef
Hallo Fritz,
im Modul der Tabelle "Start" in den Prozeduren "CommandButtuon1_Click" und "CommandButtuon3_Click",
habe ich diese Zeile eingefügt.
rng.Parent.Cells(1, 6) = Application.Sum(rng.Parent.Columns(5))

Gruß Sepp
AW: @Sepp
25.03.2007 14:40:47
Fritz_W
Hallo Sepp,
vielen Dank.
Gruß
Fritz
AW: @Sepp - Weitere Fragen
25.03.2007 19:33:00
Fritz_W
Hallo Sepp,
gerne würde ich bezüglich der Datei noch zwei Fragen an dich richten:
1. Wenn ich in der Tabelle "Start" auf den Button "Abmelden" klicke, sollte in dieser Tabelle der Inhalt des Bereichs "A3:A20" auf "" gesetzt werden und in die Zelle J3 der Eintrag "Kein User angemeldet" geschrieben werden.
2. Wenn ich in der Tabelle "Start" auf den Button "Anmelden" klicke, sollte der Name des angemeldeten Users in die Zelle J3 geschrieben werden.
Was muss ich ändern, damit ich das jeweils erreichen kann.
Vielen Dank für die Hilfe.
Mfg
Fritz
Anzeige
AW: @Sepp - Weitere Fragen
25.03.2007 19:42:00
Josef
Hallo Fritz,
1. ersetze im Modul "basMain" die Prozedur "LogOff" durch diesen Code.
Public Sub LogOff()
Dim objWS As Worksheet

For Each objWS In ThisWorkbook.Worksheets
    If objWS.Name <> "Start" Then objWS.Visible = xlSheetVeryHidden
Next
actUser = ""
With ThisWorkbook.Sheets("Start")
    .EnableSelection = xlUnlockedCells
    .ComboBox1.Enabled = True
    .ComboBox1.List = Sheets("Master").Range("benutzer").Value
    .Range("C11").ClearContents
    .Range("C13").ClearContents
    .TextBox1.Enabled = True
    .TextBox2.Visible = False
    .TextBox3.Visible = False
    .CommandButton1.Enabled = True
    .CommandButton2.Enabled = True
    .CommandButton3.Enabled = True
    .CommandButton3.Caption = "Passwort ändern"
    .Range("A2:A30").ClearContents
    .Range("J3") = "Kein User Angemeldet"
End With
ThisWorkbook.Saved = True
End Sub

2. Im Modul der Tabelle "Start" fügst du in den Prozeduren "CommandButton1_Click" bzw. "CommandButton3_Click", nach den Zeilen
rng.Parent.Cells(1, 6) = Application.Sum(rng.Parent.Columns(5))

jeweils diese Zeile ein.
Me.Range("J3") = Me.ComboBox1.Text

Gruß Sepp
Anzeige
AW: @Sepp - Weitere Fragen
25.03.2007 20:00:00
Fritz_W
Hallo Sepp,
hat alles wunderbar geklappt!
Vielen Dank.
Gruß
Fritz
AW: Makro nach Zelländerung in einem Bereich starten
25.03.2007 11:55:00
Gerd
Hallo Fritz,
den Code ins Tabellenblattmodul der Tabelle3 stellen.

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("D2:D51")) Is Nothing Then Exit Sub
Call DeinMakroname
End Sub
Gruß
Gerd
AW: Makro nach Zelländerung in einem Bereich starten
25.03.2007 11:57:41
Fritz_W
Hallo,
euch beiden vielen Dank für die schnelle Hilfe.
Gruß
Fritz

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige