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

Makro ausführen bei Änderung in einer Tabelle

Makro ausführen bei Änderung in einer Tabelle
06.03.2003 16:25:53
Karsten
Hallo,

ich hab folgendes Problem und wäre dankbar wenn jemand dafür eine Lösung kennt:

In einer Tabelle in der sich in "A3:49" das Mitarbeiteralter und in "B3:49" die Anzahl der Mitarbeiter in diesem Alter befindet, berechnet mir ein Makro den Median und gibt diesen in C56 aus.

Nun hätte ich gerne, dass dieses Makro automatisch ausgeführt wird, wenn Daten in der Tabelle geändert werden.

Was sich mir nicht ganz erschließt: Ein anderes Makro (?) verhält sich genau wie eine Standardexcelformel (z.b. SUMME) und ändert den Inhalt einer Zelle - vielleicht könnte mir auch jemand erklären warum das so ist und wie ich ein VBA Skript / Makro gestalten muss damit das funktioniert.

Das Makro, dass den Median berechnet:
Sub MedianM()
Dim intz As Integer
Dim inti As Integer
Dim intn As Integer
intz = 3
For inti = 3 To Cells(Rows.Count, 1).End(xlUp).Row
For intn = 0 To Cells(inti, 2).Value - 1
Cells(intz + intn, 7).Value = Cells(inti, 1).Value
Next intn
intz = intz + intn
Next inti
Range("C56").FormulaR1C1 = "=MEDIAN(R[-53]C[+4]:R[600]C[+4])"
End Sub


Das folgende Makro berechnet den Mittelwert, wird aber "direkt aus der Zelle" aus aufgerufen:

Function MittelAlter(alter, anzahl)
zahl = 0
summe = 0
For j = 1 To Application.Count(alter)
zahl = zahl + anzahl(j)
summe = summe + alter(j) * anzahl(j)
Next j
MittelAlter = summe / zahl
End Function

In der Zelle gebe ich dann eben Mittelalter(wert1, wert2) ein. Der Zelleninhalt ändert sich bei Änderung der Tabellendaten. Liegt das an der unterschiedlichen definition function / sub ? Leider kenne ich mich mit sowas überhaupt nicht aus und versuche es nur irgendwie zum laufen zu bekommen.

Bin für jede Hilfe dankbar!

Gruß,

Karsten

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

Betreff
Datum
Anwender
Anzeige
Re: Makro ausführen bei Änderung in einer Tabelle
06.03.2003 16:52:40
gordon
Hallo Karsten,

schau mal beim Worksheet_Change - Ereignis. Kann eigentlich nur dort aufgehängt sein bzw. werden. Um 'verschiedene' Aktionen ausführen zu können, Saplte und/oder Zeile des Target abfragen und entsprechend die Makros aufrufen.

Gruß
gordon

Re: Makro ausführen bei Änderung in einer Tabelle
06.03.2003 17:16:18
Karsten
Hallo Gordon,

kenne mich leider nicht gut genug damit aus. Habe zwar verschiedenes versucht:

In DieseArbeitsmappe:
Private Sub Workbook_Open()
MedianM()
End Sub

Bekomme allerdings nen Fehler. Auch mit change hat's nicht hingehauen. Da ich mich praktisch gar nicht mit VBA/Makros auskenne, tu ich mich doch recht schwer.

Hast Du eine Idee wie die genaue Anweisung aussehen müsste? Im Grunde wäre es mir auch egal ob er dann bei Änderungen in einem bestimmten bereich, allgemeinen änderungen oder einfahc beim öffnen der arbeitsmappe das Makro ausführt.

Gruß,

Karsten

Anzeige
Re: Makro ausführen bei Änderung in einer Tabelle
06.03.2003 17:55:07
gordon
Hallo Karsten,

Klammern weglassen...

Gruß
gordon

Re: Makro ausführen bei Änderung in einer Tabelle
06.03.2003 22:31:48
Klaus-Dieter
Hallo Karsten,

wenn Du das Makro nicht in das Standartmodul schreibst, sondern in ein Objektmodul, "hinter" der Tabelle, die bearbeitet werden soll, dann geht das.


Private Sub Worksheet_Change(ByVal Target As Excel.Range)
' - hier kommt Dein Makro hin --
End Sub

Code eingefügt mit: Excel Code Jeanie

Das zweite Makro ist eine benutzerdefinierte Funktion und verhält sich im Prinzip wie die Standartfunktionen von Excel. Kann man also nicht direkt miteinander vergleichen.

Gruß Klaus-Dieter
Klaus-Dieter's Excel und VBA Seite

Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige