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

Indirekte Adressierung bei Funktionen möglich?

Indirekte Adressierung bei Funktionen möglich?
10.01.2004 15:21:38
fiete
Ich suche eine Lösung, mit der sich über den Wert in einer Zelle durch den Nutzer die Anzahl der für die Berechnung statistischer Parameter zu berücksichtigenden Zellen steuern lässt.
Vielleicht wird es aus dem Folgenden klar: ich habe eine Liste mit z.B. 100 Einzelwerten (Messwerte mit vorgegebener Tabellenstruktur) und da möchte ich die statistischen Parameter für "Stichproben" bestimmen (z.B. für eine Gruppe von 20 oder 40 Werten). Und die Anzahl der Werte für die Stichprobenkontrolle soll in einer Zelle durch den Nutzer eingegeben werden (ist also nicht durch die Anzahl der vorhandenen Werte in der Datenliste definiert) und leicht modifizierbar sein (ohne dass die Formeln/Zeileninhalte jedes Mal angepasst werden müssen).
Früher - bei programmierbaren HP-Taschenrechnern - gab es so etwas wie indirekte Adressierung: über den Wert in einer Bezugszeile oder -variablen wurde der weitere Programmablauf gesteuert. Etwas in der Art suche ich.
fiete

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Indirekte Adressierung bei Funktionen möglich?
10.01.2004 16:01:47
Michael Brueggemann
Hallo Fiete,
wenn es darum geht, eine Wertemenge "dynamisch" zu verwenden, empfehle ich, einen benannten Bereich zu verwenden.
Wenn Du die Summe einer Liste mit 10 Werten von A2:A11 erstellen willst, benutzt Du normalerweise die Formel "=Summe(A2:A11)". Genauso kannst Du auch den Bereich A2:A11 mit einem Namen versehen, indem Du ihn markierst und ueber "Einfügen - Name - Definieren" und die Eingabe eines Namens (z.B. "Messwerte") benennst.
Die Formel zur Summenberechnung lautet somit einfach "=Summe(Messwerte)".
Um diesen Bereich nun immer dann neu festzulegen, wenn in einer Zelle ein Wert veraendert wird, kann die Ereignisprozedur "Worksheet_Change" verwendet werden. Sie existiert fuer jedes Tabellenblatt und wird aufgerufen, sobald ein Wert in einer Tabelle durch eine Eingabe veraendert wird (ACHTUNG: Die Neuberechnung eines Zellinhaltes loest die Ereignisprozedur NICHT aus, nur die manuelle Eingabe).
In meinem Beispiel verwende ich den Bereich "A2:A..." fuer die Messwerte und die Zelle "B2" zur Eingabe der Anzahl der zu verwendenden Messwerte:

Private Sub Worksheet_Change(ByVal Target As Range)
' Pruefen, ob Zelle mit der Anzahl Messwerte veraendert wurde
If Target.Address = "$B$2" Then
' Pruefen, ob Wert "Anzahl Messwerte" numerisch
If IsNumeric(Target.Value) Then
' Bereich der zu verwendenden Messwerte neu definieren
ActiveWorkbook.Names.Add Name:="Messwerte", RefersTo:= _
"=$A$2:$A$" & Target.Value + 1
Else
' sonst Fehlermeldung ausgeben
MsgBox "Der Wert in Zelle " & Target.Address & " muss numerisch sein"
End If  ' If IsNumeric(Target.Value)
End If  ' If Target.Address = "$B$2"
End Sub
' Worksheet_Change

Der Bereich "Messwerte" wird also durch das Makro immer neu bestimmt, wenn der Wert in Zelle "$B$2" veraendert wurde.

CIAO
Michael
P.S.
Die Ereignisprozedur ist hinter der entsprechenden Tabelle zu hinterlegen. Also VBA Projektfenster oeffnen, Doppelklick auf den Tabellennamen und den obigen Code im Codefenster rechts einfuegen.
Anzeige
AW: Indirekte Adressierung bei Funktionen möglich?
10.01.2004 16:32:24
fiete
Vielen Dank! Ich werd's mal damit probieren.
Zusatzfrage: wie geht "VBA Projektfenster oeffnen"
10.01.2004 17:17:55
fiete
Bin bisher bei Excel ohne diese Dinge ausgekommen.....
Danke
fiete
AW: Zusatzfrage: wie geht "VBA Projektfenster oeffnen"
10.01.2004 17:23:32
Nepumuk
Hallo Fiete,
Rechtsklick auf den Tabellenreiter und im Kontextmenü "Code anzeigen" auswählen. Dann bist du direkt da, wo du hin willst/sollst.
Gruß
Nepumuk
Funktioniert!
10.01.2004 18:51:34
fiete
Meinen Dank an das Forum!
fiete

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige