Thema Datum  Von Nutzer Rating
Antwort
19.11.2010 02:58:45 Sonja
NotSolved
19.11.2010 04:33:09 Severus
NotSolved
22.11.2010 01:00:06 Sonja
NotSolved
22.11.2010 04:51:41 Sonja
NotSolved
Rot Aw:Tabelle aktualisieren nach Wertänderung
22.11.2010 10:44:45 Severus
NotSolved
23.11.2010 00:37:13 Sonja
NotSolved
23.11.2010 02:00:28 Severus
NotSolved
25.11.2010 04:37:57 Sonja
NotSolved
25.11.2010 13:29:42 Severus
NotSolved
26.11.2010 07:00:44 Sonja
NotSolved
22.11.2010 11:01:02 Severus
NotSolved
22.11.2010 01:04:28 Sonja
NotSolved

Ansicht des Beitrags:
Von:
Severus
Datum:
22.11.2010 10:44:45
Views:
1111
Rating: Antwort:
  Ja
Thema:
Aw:Tabelle aktualisieren nach Wertänderung
Sonja schrieb am 22.11.2010 04:51:41:

Sonja schrieb am 22.11.2010 01:00:06:

Severus schrieb am 19.11.2010 04:33:09:

Sonja schrieb am 19.11.2010 02:58:45:

Hallo,

gibt es eine möglichkeit mit hilfe von vba, bei Wertänderung einer Zelle einen schon geschriebenen code "ablaufen" zulassen und somit die tabelle zu aktualisieren? und somit ohne "extra" Button.

ich hoffe mich halbwegs verständlich ausgedrückt zu haben.


vielen Dank.

Sonja

Hallo Sonja,
leider ist das nicht so klar wie es zu wünschen wäre.
Natürlich kannst Du einen Code ablaufen lassen, wenn Du eine Zelle änderst.
Dazu müsstest Du im Klassenmodul des betreffenden Arbeitsblattes
(z.B. Tabelle1(Tabelle1))
eine Prozedur

Private Sub Worksheet_Change(ByVal Target as Range)

...Dein Code...
End Sub

einrichten. Ich weiß natürlich nicht, was Dein Code bewerkstelligen soll und ob er bei Änderungen in jeder Zelle oder z.B. nur in einer einzigen Zelle oder nur bei einer Zeile oder einer Spalte stattfinden soll.

Bei nur einer Zelle müsstest Du z.B. den Code
If Target.Address <> "$A$1" Then Exit Sub
vor Deinem Code einfügen ($A$1 durch die entsprechende Zelladresse ersetzen). Für eine Zeile oder Spalte entsprechend
If Target.Row <> 7 Then Exit Sub (oder auch > 9, 7 Then Exit Sub (wie Zeile)
Dann würde der Code nur ausgeführt, wenn die Bedingungen erfüllt sind.

Wenn Dein Code Werte in die Tabelle schreibt müsstest Du zusätzlich vor Deinen Code
Application.EnableEvents = False
und nach Deinem Code
Application.EnableEvents = True
schreiben. Sonst löst jede Änderung durch Deinen Code die Prozedur wieder neu aus, da sie ja die Tabelle ändert.
Sollte Dein Code langwierige Operationen mit vielen Zell- oder Blattwechseln ausführen empfiehlt sich zusätzlich das Paar
Application.ScreenUpdating = False
...
Application.ScreenUpdating = True
Das beschleunigt den Code, da die Anzeige nicht aktualisiert wird solange der Code abläuft.

Severus

Hi Vielen vielen Dank soweit,

hat super funktioniert!!!!1

kann man dann auch noch ein paar ranges miteinander kombinieren... zur zeit luft das von ("B7:E107"). Wie kann ich jetzt noch ("J7:N107") mit einbinden ohne die ganze sachen nochmal hinzuschreiben?


beste grüße sonja


Hallo nochmal

also soweit funktoniert wie gesagt alles bestens nur leider ach außerhalb der ranges. ich habe die ranges wie besagt wie folgt eingegeben:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> ("B7:E107,G7:G107,I7:N107,Q7:Q107") Then
Application.EnableEvents = False
Call run
Application.EnableEvents = True
Exit Sub
End If
End Sub

nun kommt es dazu , dass auch außerhalb der ranges bei wertänderung alles aktualisiert wird.


hat jemand eine idee dazu?

vielen dank,

sonja


Adressen von Target.Address werden grundsätzlich als absolute Bezüge ausgegeben. Deine Restriktion wirkt also nicht. Du mußt die $-Zeichen hinzufügen wie in meiner ersten Antwort.
Severus

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
19.11.2010 02:58:45 Sonja
NotSolved
19.11.2010 04:33:09 Severus
NotSolved
22.11.2010 01:00:06 Sonja
NotSolved
22.11.2010 04:51:41 Sonja
NotSolved
Rot Aw:Tabelle aktualisieren nach Wertänderung
22.11.2010 10:44:45 Severus
NotSolved
23.11.2010 00:37:13 Sonja
NotSolved
23.11.2010 02:00:28 Severus
NotSolved
25.11.2010 04:37:57 Sonja
NotSolved
25.11.2010 13:29:42 Severus
NotSolved
26.11.2010 07:00:44 Sonja
NotSolved
22.11.2010 11:01:02 Severus
NotSolved
22.11.2010 01:04:28 Sonja
NotSolved