Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
460to464
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
460to464
460to464
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro gesucht: Berechnung wenn Zelle gefüllt

Makro gesucht: Berechnung wenn Zelle gefüllt
31.07.2004 19:39:45
Daniel
Hallo Zusammen!
Ich suche ein Makro, weil ich Formeln nur dann ausführen will, wenn eine andere Zelle gefüllt ist.
Ich habe dazu eine Beispieldatei angehängt. Dort ist das Problem (hoffe ich) anschaulich erklärt.
https://www.herber.de/bbs/user/9107.xls
Für Hilfe bin ich sehr dankbar!
Grüße,
Daniel

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro gesucht: Berechnung wenn Zelle gefüllt
01.08.2004 01:25:19
Björn
Hallo Daniel,
warum ein Makro?
Blatt Calc2, Zelle b101:
=WENN(UND(Data1!A101"";Data2!A101"");SUMME((Data1!B101:IV101))/ANZAHL(Data1!B101:IV101);"")
Blatt Calc2, Zelle C101:
=WENN(UND(Data1!A101"";Data2!A101"");SUMME((Data2!B101:IV101))/ANZAHL(Data2!B101:IV101);"")
Blatt Calc2, Zelle D101:
=WENN(B101"";B101-C101;"")
Die Zellen dann nach unten und/oder oben kopieren. Fertig.
Gruß
Björn
AW: Makro gesucht: Berechnung wenn Zelle gefüllt
01.08.2004 08:12:21
Daniel
Hallo Björn,
ich möchte ein Makro benutzen, weil die Daten
1. dynamisch sind
2. die Datenmeng enorm groß ist (in der Arbeitsdatei)
Grüße,
Daniel
Anzeige
AW: Makro gesucht: Berechnung wenn Zelle gefüllt
Ramses
Hallo
Wenn dies nur ein Ausschnitt ist, dann bringt das ganze nichts.
Was heisst "dynamisch" ?
Darunter kann ich mir absolut nichts vorstellen.
Du hast kaum EXCEL und VBA Kenntnisse,... dann würde ich die Formel nehmen.
Die ist auf jeden Fall um den Faktor 100 - 1000 schneller als jedes Makro, weil dies in EXCEL selbst verarbeitet wird.
Du kannst mit einem Makro einer Formel nicht sagen, nun berechne oder nicht.
Also musst du mit dem Makro jedesmal ALLE Zellen durchgehen und allenfalls neu berechnen.
Der Aufwand steht in keinem Verhältnis.
Gruss Rainer
AW: Makro gesucht: Berechnung wenn Zelle gefüllt
01.08.2004 12:54:48
Björn
Hallo Daniel,
Rainer hat recht (eigentlich hat Rainer immer recht), aber da du gerne ein Makro möchtest...
Kannst du damit was anfangen?

Sub Zellen_fuellen()
Dim f As Object
Set f = Application.WorksheetFunction
For Zeile = 2 To 65536 'Hier musst du die Zeilen angeben, die bearbeitet werden sollen!
If Not IsEmpty(Worksheets("Data1").Cells(Zeile, 1)) And _
Not IsEmpty(Worksheets("Data2").Cells(Zeile, 1)) Then
With Worksheets("Calc2")
For i = 1 To 2
myrange = Worksheets("Data" & i).Range("B" & Zeile & ":IV" & Zeile)
If f.Count(myrange) <> 0 Then 'Kein Teilen durch Null möglich!
.Cells(Zeile, 1 + i) = f.Sum(myrange) / f.Count(myrange)
End If
Next i
.Cells(Zeile, 4) = .Cells(Zeile, 2) - .Cells(Zeile, 3)
End With
End If
Next Zeile
End Sub

Gruß
Björn
Anzeige
AW: Makro gesucht: Berechnung wenn Zelle gefüllt
01.08.2004 13:15:44
Daniel
Hallo Björn udn Rainer!
Ok, ich hatte micht undeutlich ausgedrückt:
Es ist nur nötig zu prüfen, welche Zeile die letzte gefüllte Zelle der Spalte A beinhaltet (dies kann mal die Zeile 1000 sein oder erts 23987; jede ist möglich-deshalb möchte ich das auch per Makro lösen!!).
Es reicht dann aus, wenn das Makro bis hierhin prüft. Es ist dann nicht nötig
wie hier "For Zeile = 2 To 65536 " bis zum Ende zu prüfen.
Wenn also A 2035 die letzte gefüllte Zelle ist, dann muss eben nur bis To 2035 geprüft werden.
Ich hoffe damit ist es klar geworden!?
Grüße und Danke!
Daniel
Anzeige
AW: Makro gesucht: Berechnung wenn Zelle gefüllt
Ramses
Hallo
Das Makro prüft sowieso nur bis zur letzten gefüllten Zelle !!
Mit dem Code wird die letzte gefüllte Zeile gesucht.
Das verrrückte ist doch, dass du das für JEDES Change Ereignis in einer dieser Zellen auslösen musst. Das heisst JEDESMAL wenn eine Zelle geändert wird, muss das Makro erneut auifgerufen werden !!!!
Prüfe das Makro doch erst mal.
Die Formel ist auf jeden Fall die bessere Variante,... ausser du MUSST ein Makro aus EGO-Gründen haben.
by the Way:
2000 Zellen sind nichts in EXCEL wenn hier Formeln berechnet werden soll. Das merkst du gar nicht.
Gruss rainer
Anzeige
AW: Makro gesucht: Berechnung wenn Zelle gefüllt
01.08.2004 17:09:08
Björn
Hallo Daniel,
versuch's denn mal hiermit:

Sub Zellen_fuellen()
Dim f As Object
Set f = Application.WorksheetFunction
For Zeile = 2 To Worksheets("Data1").Cells(65536, 1).End(xlUp).Row
If Not IsEmpty(Worksheets("Data1").Cells(Zeile, 1)) And _
Not IsEmpty(Worksheets("Data2").Cells(Zeile, 1)) Then
With Worksheets("Calc2")
For i = 1 To 2
myrange = Worksheets("Data" & i).Range("B" & Zeile & ":IV" & Zeile)
If f.Count(myrange) <> 0 Then 'Kein Teilen durch Null möglich!
.Cells(Zeile, 1 + i) = f.Sum(myrange) / f.Count(myrange)
End If
Next i
.Cells(Zeile, 4) = .Cells(Zeile, 2) - .Cells(Zeile, 3)
End With
End If
Next Zeile
End Sub

Ich habe mich mangels anderslautender Angabe auf den letzten Eintrag in Spalte A auf dem Blatt Data1 bezogen.
Gruß
Björn
Anzeige
Danke! Ist in Ordnung so. o.T.
01.08.2004 19:25:38
Daniel
o.T.
Danke für die Rückmeldung - o. T.
01.08.2004 22:37:04
Björn

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige