Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro ausführen bei Änderung in einer Tabelle

Forumthread: 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

Anzeige

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
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige