MS-Office-Forum
Google
   

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads Der Renner, 11 Entwicklertools für Access, Tipps & Trick und offene Datenbanken zum einzigartigen Preis.
Themen-Optionen Ansicht
Alt 10.07.2017, 11:00   #1
Andreas1977
Neuer Benutzer
Neuer Benutzer
Standard Excel2010 - Zellbereich überwachen und bei Änderung andere Zelle um 1 erhöhen

Hi

Bräuchte mal wieder eure Hilfe.

Ich möchte per Fomularsteuerelement ein Makro starten und stoppen.

Dieses Makro soll dann einen Zellbereich überwachen (J3:J1000).
Wenn sich im Zellbereich eine Zelle ändert, soll in gleicher Zeile in Spalte "L" sich der Wert um 1 reduzieren.

Diese Überwachung soll solange andauern bis ich das Makro wieder ausschalte.


Danke schon mal im vorraus

Andreas
Andreas1977 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 10.07.2017, 11:25   #2
Oge
MOF User
MOF User
Standard

Hallo Andreas,

für solche "Überwachungsfunktionen" sind in Excel Ereignismakros vorgesehen.
Durch welches Ereignis ändern sich denn die Werte in J3:J1000 ?

Falls diese Zellen manuell geändert werden ist das Ereignis Worksheet_Change das richtige.

Man kann innerhalb des Makros die Aktivität abhängig vom Wert einer Zelle ein- und ausschalten.

Diesen Eintrag kann man, wenn gewünscht über ein Makro zum Steuerelement ändern.

__________________

helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.

Geändert von Oge (10.07.2017 um 11:28 Uhr).
Oge ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 10.07.2017, 14:17   #3
Andreas1977
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo Helmut,

das Ereignis ändert sich momentan manuell.

Hatte dafür auch schon mal ein Makro versucht zu schreiben:

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Application.Intersect(Target, Range("J3:J1000")) Is Nothing Then

Range("").Value = Range("").Value - 1

End If


End Sub

In diesem Makro fehlt mir aber noch, das er immer in der Zeile wo sich der Wert ändert auch in Spalte "L" sich der Wert um 1 verringert.

Wie schreibt man sowas am besten?

Wie kann ich so ein Makro per Steuerelement ein und ausschalten?


Danke

Andreas
Andreas1977 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 10.07.2017, 14:30   #4
EarlFred
MOF Guru
MOF Guru
Standard

Hallo Andreas,

Code für das Codemodul des Tabellenblatts, das Du überwachen willst:
Code:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

Dim c As Range

On Error GoTo errExit

If Modul1.blnAktiv Then
  If Not Application.Intersect(Target, Me.Range("J3:J1000")) Is Nothing Then
    For Each c In Application.Intersect(Target, Me.Range("J3:J1000"))
      Application.EnableEvents = False
      Me.Cells(c.Row, "L").Value = Me.Cells(c.Row, "L").Value - 1
      Application.EnableEvents = True
    Next c
  End If
End If

errExit:
Application.EnableEvents = True
End Sub
Code für ein allgemeines Modul (im VB-Editor Einfügen/Modul) namens Modul1
Code:

Option Explicit

Public blnAktiv As Boolean


Sub anaus()
blnAktiv = Not blnAktiv
MsgBox "Die Überwachung ist " & IIf(blnAktiv, "an", "aus")
End Sub
Das Makro anaus legst Du hinter den Button. Wenn Du einen ActiveX-Button verwenden willst, nimm das Click-Ereignis.

Die Überwachung ist beim Öffnen der Mappe standardmäßig aus und muss eingeschaltet werden. Wenn Du es anders herum willst, musst Du das Gegenteil von "If Modul1.blnAktiv" prüfen und sinnigerweise den Variablennamen anpassen.


Grüße
EarlFred

__________________

Datum und Uhrzeit, Makrorekorder-Code entschlacken, {Matrixformeln}
Tutorials zu Pivottabellen: Kurzeinstieg; Dynamischer Datenbereich; Daten und Zeiten gruppieren
Für 3 meiner Beiträge haben sich die Hilfesuchenden mit einer Spende an Wikipedia, die Tafeln oder Hilfe für krebskranke Kinder eV bedankt (das entspricht 0,023% per 05.12.2017) - eine tolle Geste!

Geändert von EarlFred (10.07.2017 um 14:32 Uhr).
EarlFred ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 10.07.2017, 14:53   #5
Andreas1977
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo EarlFred,

vielen Dank....das klappt super. Genau so wie ich es wollte. Schön das es solche Foren gibt.

Gruß

Andreas
Andreas1977 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 19.01.2018, 08:48   #6
talolo
Neuer Benutzer
Neuer Benutzer
Standard

Hallo, ich hoffe ich kann dieses Thema nochmal aufgreifen.

ich versuche mich auch an so einem Code ran. Nur das nicht nach einer Spalte kontrolliert werden soll, sondern über Zeilen hindurch (A6:U6) und in X6 und Y6 bspw. "Änderung" steht. Dies soll für jede Zeile ab A6 bis zur letzten beschriebenen Zeile passieren..

Hat hierzu jemand vielleicht eine Idee?

Viele Grüße
talolo ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 19.01.2018, 09:04   #7
EarlFred
MOF Guru
MOF Guru
Standard

Hallo,

Du musst dafür doch nur den überwachten Bereich anpassen:
Code:

  If Not Application.Intersect(Target, Me.Range("A3:Y500")) Is Nothing Then
    For Each c In Application.Intersect(Target, Me.Range("A3:Y500"))
Grüße
EarlFred

__________________

Datum und Uhrzeit, Makrorekorder-Code entschlacken, {Matrixformeln}
Tutorials zu Pivottabellen: Kurzeinstieg; Dynamischer Datenbereich; Daten und Zeiten gruppieren
Für 3 meiner Beiträge haben sich die Hilfesuchenden mit einer Spende an Wikipedia, die Tafeln oder Hilfe für krebskranke Kinder eV bedankt (das entspricht 0,023% per 05.12.2017) - eine tolle Geste!
EarlFred ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 19.01.2018, 10:34   #8
talolo
Neuer Benutzer
Neuer Benutzer
Standard

ok. wusste nicht dass, ich nur das ändern muss

Jetzt gibt er mir aber eine Fehlermeldung bei ".blnaktiv "
Muss ich das noch irgendwie deklarieren?

Danke und Grüße
talolo ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 19.01.2018, 11:11   #9
EarlFred
MOF Guru
MOF Guru
Standard

du musst einfach Beitrag #4 lesen und umsetzen...

__________________

Datum und Uhrzeit, Makrorekorder-Code entschlacken, {Matrixformeln}
Tutorials zu Pivottabellen: Kurzeinstieg; Dynamischer Datenbereich; Daten und Zeiten gruppieren
Für 3 meiner Beiträge haben sich die Hilfesuchenden mit einer Spende an Wikipedia, die Tafeln oder Hilfe für krebskranke Kinder eV bedankt (das entspricht 0,023% per 05.12.2017) - eine tolle Geste!
EarlFred ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:16 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2010 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günther Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.
Beachten Sie bitte auch unsere Nutzungsbedingungen.