Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
420to424
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
420to424
420to424
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Worksheet_Change Zellbereiche neu berechnen

Worksheet_Change Zellbereiche neu berechnen
floh
Hallo VBA Experten,

folgendes Makro soll die Formeln eines definierten Zellbereich (AR2:AV2) in die Zeile kopieren deren Zelle das Worksheet_Change Ereignis ausgelöst hat.
dort sollen die neuen Werte ohne Formeln hinterlegt werden.
Habe mal versucht ein Makro mit absoluten Werten aufzuzeichen.
Das Ergebnis soll sich aber auf die variable Zelle beziehen die das Ereignis auslöst.
Wer kann beim Ergänzen und abändern helfen?

Private Sub Worksheet_Change(ByVal Target As Range)
1.wenn sich Werte in diesen definierten Bereichen ändern
--> ? und wenn der Zellhintergund der veränderten Zelle farblich nicht
hinterlegt oder grau ist
Dim B01 As Range
Dim B02 As Range
Set B01 = Range("A3:B10000")
Set B02 = Range("D3:E10000")
Set GB = Union(B01, B02)
If Intersect(Target, GB) Is Nothing Then Exit Sub
--> ? Bedingung Zellhintergrund farblos oder grau
2.dann führe folgenden Befehl aus:
2.1. Kopiere die Formeln aus dem Zellbereich AR2 bis AV2
in die Zeile x in den Spaltenbereich AR bis AV (wo sich der Wert geändert
hat) ein.
Range("AR26:AV26").Select
Selection.Copy
'--> ?    Range("AR50").Select  (Zeile deren Zelle Ereignis auslöst
variabel anstatt Zeile50)
'--> ?    ActiveSheet.Paste
2.2 lasse den Bereich berechnen und danach in Werte umwandeln (=Formeln löschen)
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
'--> ?    Range("AR50:AV50").Select  (Zeile die Ereignis auslöst
variabel anstatt Zeile 50)
'--> ?    ActiveSheet.Paste
'--> ?    Application.CutCopyMode = False
2.3 kehre zurück zu der geänderten Zelle der Zeile x die das Ereignis
Worksheetchange ausgelöst hat.
'--> ?
End Sub

Gruß Floh
AW: Worksheet_Change Zellbereiche neu berechnen
Ramses
Hallo
wäre es nicht wesentlich einfacher die Formeln gleich direkt in VBA zu berechnen, als diese leidige und mühselige Kopieraktion zu starten ?
Zudem:
Wo kommt der Zellhintergrund her ?
Bedingte Formatierung oder fest ?
Gruss Rainer
AW: Worksheet_Change Zellbereiche neu berechnen
floh
Hallo Ramses,
habe die Formeln schon mal über ein Makro aufgezeichnet
aber die Wiedergabe dauert viel zu lange.
(Diese sind ziemlich aufwendig und erstreckten sich über ein weitaus größeren Bereich als beschrieben.)
Mein Test hat ergeben, dass das Kopieren schneller abläuft.
Die Farben sind ebenfalls variabel (Kopfzeile und Text Zellhintergrund rot, Zeilen zum Berechen farblos oder grau) und werden durch ein anderes Makro festgelegt.

Kanst Du mir helfen?
Anzeige
AW: Worksheet_Change Zellbereiche neu berechnen
Ramses
Hallo
Sorry, das ist mir zu komplex um mich darin einzuarbeiten.
Ich sehe vor allem das Problem der Farben
Gruss Rainer
AW: Worksheet_Change Zellbereiche neu berechnen
floh
Hallo allerseits,
Anbei mal ein kleines Beispiel zur Veranschaulichung
vielleicht hilft das ja weiter ?
Gruß floh
AW: Worksheet_Change Zellbereiche neu berechnen
floh
Hallo allerseits,
Anbei mal ein kleines Beispiel zur Veranschaulichung
vielleicht hilft das ja weiter ?
unter
https://www.herber.de/bbs/user/5933.xls
Gruß floh
AW: Worksheet_Change Zellbereiche neu berechnen
04.05.2004 05:06:52
Hans
Hallo,
es ist nicht allzu sinnvoll, eine Arbeitsmappe mit geschütztem VBA-Projekt auf den Server zu stellen, wenn man nach einem VBA-Code sucht.
Zudem ist die Erklärung nicht verständlich. Schreibe ganz klar, was Du in den Spalten B, C, D oder E haben möchtest. Die Formeln - sowieso überflüssig - können nicht zugeordnet werden, da es sich ja um 4 Eingabe und 3 Formelspalten handelt.
Trotz langem Überlegen ist es mir nicht gelungen, einen Sinn bei der Sache zu erkennen.
Gruss hans
Anzeige
AW: Worksheet_Change 2.Versuch
floh
Hallo Hans
sorry....
hier ein 2.Versuch zu meinen Problem
https://www.herber.de/bbs/user/5993.xls
Achtung: Nach Ausführung von worksheet change soll die Zellmakierung immer noch auf der Zelle sein, die die Aktion ausgelöst hat.
ich hoffe ich habe mich dieses mal verständlicher ausgedrückt.
Mit freundlichen Grüßen
floh
AW: Worksheet_Change 2.Versuch
Hans
... na also. Den folgenden Code in das Klassenmodul der Tabelle (Die Formeln in den ausgeblendeten Zeilen werden nicht benötigt):

Private Sub Worksheet_Change(ByVal Target As Range)
Dim iRow As Integer
If Target.Column < 2 Then Exit Sub
If Target.Column > 5 Then Exit Sub
If Target.Interior.ColorIndex <> xlColorIndexNone Then Exit Sub
iRow = Target.Row
Application.EnableEvents = False
On Error GoTo ERRORHANDLER
Cells(iRow, 7).Value = Cells(iRow, 2).Value + Cells(iRow, 3).Value
Cells(iRow, 8).Value = Cells(iRow, 2).Value * Cells(iRow, 3).Value
Cells(iRow, 9).Value = WorksheetFunction.Sum(Range(Cells(iRow, 2), Cells(iRow, 5)))
ERRORHANDLER:
Application.EnableEvents = True
End Sub

gruss hans
Anzeige
AW: Worksheet_Change 2.Versuch
04.05.2004 09:20:41
floh
Hallo Hans,
der erste Teil Deines Makros ist genau das, was ich mir vorstelle
Dafür erst einmal ein dickes Danke.
Für den 2. Teil allerdings wäre es gut wenn Du das mit den Formeln kopieren
irgendwie hinkriegen könntest,weil:
die Formeln sich über in meinen richtigen Tabellen über weitaus mehr Spalten mit weitaus komplizierteren Operationen erstrecken.
Geht das ?
Gruss Floh
AW: Worksheet_Change 2.Versuch
06.05.2004 20:17:30
floh
Hallo Hans
vielen Dank für Deine Hilfe.
ausstehende Frage konnte im Forum durch moe beantwortet werden.
Gruß floh

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige