Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1392to1396
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

Automatisches Ausglichen von änderungen VBA

Automatisches Ausglichen von änderungen VBA
01.12.2014 11:09:58
änderungen
Grüß euch.
Ich Versuche Das Makro wie in https://www.herber.de/bbs/user/77142.xls
auf eine Tabelle mit 19 Spalten anzuwenden. Es findet auch ein Ausgleich statt nur werden für die Berechnung alle Änderungen heran gezogen, nicht nur die aus der Relevanten Spalte.
Wär super wenn mir jemand helfen kann
lg MAtt
Dim rng As range
Dim dValue As Double
Dim iCounter As Integer
For iCounter = 14 To 48
On Error GoTo ErrExit
Application.EnableEvents = False
If Target(1, 1).Address(0, 0) = Cells(iCounter, 6) Then
If IsNumeric(Target(1, 1)) And Target(1, 1) "" Then
Set rngFix = Nothing
range(Cells(iCounter, 13), Cells(iCounter, 60)).Formula = "=F/E"
Else
range(Cells(iCounter, 13), Cells(iCounter, 60)) = ""
End If
ElseIf Not Intersect(Target, range(Cells(iCounter, 13), Cells(iCounter, 60))) Is Nothing Then
If rngFix Is Nothing Then
Set rngFix = Intersect(Target, range(Cells(iCounter, 13), Cells(iCounter, 60)))
Else
Set rngFix = Union(rngFix, Intersect(Target, range(Cells(iCounter, 13), Cells(iCounter, 60))))
End If
For Each rng In range(Cells(iCounter, 13), Cells(iCounter, 60))
If rng.HasFormula Then
rng.Formula = "=($F" & iCounter & "-" & (WorksheetFunction.Sum(rngFix)) & ")/" & WorksheetFunction.Max(1, 19 - rngFix.Count)
End If
Next
End If
Next iCounter
ErrExit:
Application.EnableEvents = True
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Automatisches Ausglichen von änderungen VBA
01.12.2014 13:04:38
änderungen
ich denke es ist die Definition von rngFix oder WorhsheetFunktion.Sum. Bin für jede Hilfe dankbar.
Matt

AW: Automatisches Ausglichen von änderungen VBA
01.12.2014 14:31:10
änderungen
Hi Matt
Ich weiss nicht, ob es die Lösung für dein Problem ist, aber mir ist aufgefallen:
If Target(1, 1).Address(0, 0) = Cells(iCounter, 6) Then
Da vergleichst du die Adresse (Datentyp String) mit einer Range. Besser...
If Target(1, 1).Address(0, 0) = Cells(iCounter, 6).Address(0, 0) Then
Ausserdem könntest du die Schleife m.E. weglassen
iCounter = Target.Row
cu
Chris

AW: Automatisches Ausglichen von änderungen VBA
01.12.2014 14:49:13
änderungen
Hallo Chris.
Danke schon mal für deine Antwert. Hab die sachen ausgebessert, wobei sich aber keine Änderung ergeben hat. :-(
Ich hab festgestellt, dass beim umschreiben der Mengenlehre ( Union Intersect.. ) sich die relevantesten auswirkungen egeben. Dann Wird nicht mehr alles zusammen gezählt, es ist aber auch nur zb. eine änderung pro Zeile möglich.
Würd mich freunen wenn du mir noch weiter aushelfen könntest
lg Matt

Anzeige
AW: Automatisches Ausglichen von änderungen VBA
02.12.2014 10:23:27
änderungen
Hi Matt
Option Explicit
Private rngFix As Range
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
On Error GoTo ErrExit
Application.EnableEvents = False
If Target.Row >= 14 And Target.Row  "" Then
Set rngFix = Nothing
Range(Cells(Target.Row, 13), Cells(Target.Row, 60)).Formula = "=$B$1/48"
Else
Range(Cells(Target.Row, 13), Cells(Target.Row, 60)) = ""
End If
End If
If Target.Column >= 13 And Target.Column 

cu
Chris

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige