Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.04.2024 20:05:21
28.04.2024 18:33:31
28.04.2024 18:25:12
28.04.2024 14:18:05
Anzeige
Archiv - Navigation
1900to1904
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

Worksheetfunktion stDev nicht zugeordnet

Worksheetfunktion stDev nicht zugeordnet
25.09.2022 19:38:05
Sebastian
Guten Abend nochmal,
ich habe einem Kollegen ein Makro zugesandt, welches bei mir selbst tadellos läuft. Bei meinem Kollegen (bei dem wir das Makro gemeinsam unter Videoanleitung in die Personal.xlsb integriert haben) läuft es leider nicht durch. Obwohl das Makro 1 zu 1 gleich ist, bekommt er eine Fehlermeldung. Nämlich "die StDev_P-Eigenschaft des WorksheetFunction-Objektes kann nicht zugeordnet werden"
Im Makro soll eben aus einem ausgewählten Bereich "rng1" eine Standarddeviation berechnet werden. Das sieht so aus:

Dim rng1, rng2, rng3 As Range
Set rng1 = ActiveSheet.Range(ActiveSheet.Cells(3, 2), ActiveSheet.Cells(ActiveSheet.Rows.Count, 2).End(xlUp).Offset(-1, 0)) ' Auswahl aller Längen
Set rng2 = ActiveSheet.Range(ActiveSheet.Cells(3, 3), ActiveSheet.Cells(ActiveSheet.Rows.Count, 3).End(xlUp).Offset(-1, 0)) ' Auswahl aller Breiten
Set rng3 = ActiveSheet.Range(ActiveSheet.Cells(3, 4), ActiveSheet.Cells(ActiveSheet.Rows.Count, 4).End(xlUp).Offset(-1, 0)) ' Auswahl aller Quotienten
ActiveSheet.Range("b" & ActiveSheet.Rows.Count).End(xlUp).Offset(1, 0).Select
ActiveCell = WorksheetFunction.StDev_P(rng1)
ActiveCell.NumberFormat = "0.0"
ActiveCell.Offset(0, 1) = WorksheetFunction.StDev_P(rng2)
ActiveCell.Offset(0, 1).NumberFormat = "0.0"
ActiveCell.Offset(0, 2) = WorksheetFunction.StDev_P(rng3)
ActiveCell.Offset(0, 2).NumberFormat = "0.0"
Leider springt bei meinem Kollegen der Debugger an auf die Zeile:
ActiveCell = WorksheetFunction.StDev_P(rng1)
mit eben obiger Fehlermeldung: "die StDev_P-Eigenschaft des WorksheetFunction-Objektes kann nicht zugeordnet werden"
Woran kann das liegen? Die Ausgangstabelle ist bei ihm und mir gleich, habe das Makro also auf meinem Rechner auf seine Ausgangstabelle angewendet. Bei mir geht es mit dem gleichen Makro, bei ihm kommt die Fehlermeldung. Was könnte dafür die Ursache sein. Warum kriegt er keinen Zugriff auf die WorksheetFunktion.
Mir sind leider die Ideen ausgegangen. Könnt ihr mir diesbezüglich helfen.
LG Sebastian

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Worksheetfunktion stDev nicht zugeordnet
25.09.2022 19:41:15
Marc
mit welchen Excelversionen arbeitet ihr und mit welchen Implementationen von VBA ?
Und beachte das

Dim rng1, rng2, rng3 As Range
nur rng3 als Range definiert wird
rng1 und rng2 werden als Variant definiert , wenn du direkt alles als Variant haben willst dann musst du leider:

Dim rng1 As Range, rng2 As Range, rng3 As Range
deklarieren.
AW: Worksheetfunktion stDev nicht zugeordnet
25.09.2022 19:55:55
Sebastian
Hallo Marc, danke für die schnelle Antwort,
die Umstellung auf Dim rng1 As Range, rng2 As Range, rng3 As Range hat keine Veränderung gebracht und bei mir funktioniert das Makro ja auch so.
wir arbeiten beide mit Excel 2019 und nutzen das VBA so wie es standardmäßig mit Office 2019 geliefert wird. An einer VBA-Implementation haben wir nichts verändert (zumindest nicht willentlich).
Das Besondere ist, das sollte ich vielleicht noch erwähnen, dass diese Funktion StDev in einer abgespeckten Version des Makros heute bereits einmal funktioniert hat bei meinem Kollegen. Erst seid mein Kollege eine Erweiterung integriert hat, ging es nicht mehr. Wir haben jetzt aber gemeinsam überprüft, ob es der gleiche Code ist. Ich habe das Makro jetzt quasi nachträglich nochmal in Videoanleitung 1 zu 1 mit meinem funktionierenden überschrieben. Es geht trotzdem nicht mehr, total frustran. Irgendwo muss eine Funktion verstellt worden sein? Zumindest ist das in meiner Vorstellung die einzige Idee :-(
LG Sebastian
Anzeige
AW: Worksheetfunktion stDev nicht zugeordnet
25.09.2022 20:16:10
Marc
Ist nebenher eine andere Tabelle/Worksheet geöffnet.
Ich sehe bei Eurem Code jetzt nicht, ob eine spezielle Tabelle innerhalb des Worksheets aktiviert sein muss (Sheets("Tabelle").Activate z.B.)
versuch doch mal (so mach ich es um mich dem Fehler zu näher, die Variablen die du deklarierst , über eine MsgBox auszugeben...
z.B. MsgBox rng1 ,vbOKOnly
....
befinden sich im Select Bereich eventuell Daten die er nicht verarbeiten kann..
vielleicht eine Beispieldatei hochladen, das man das mal testen kann...oder sehen kann
AW: Worksheetfunktion stDev nicht zugeordnet
25.09.2022 21:08:10
Sebastian
Hallo Marc,
also, es ist noch die PERSONAL geöffnet. Allerdings wird das Makro in der Tabelle mit den Daten ausgelöst und bis zu dem angesprochenen Punkt arbeitet das Makro auch in der Tabelle in dem gewünschten Worksheet bereits und rechnet und schreibt in dieser Tabelle. (Bei mir läufts genauso).
Es werden also schon Werte berechnet und in die Tabelle hineingeschrieben, also in der entsprechenden Tabelle arbeitet das Makro bereits vorab. Insofern wird durch das Makro gar nicht mehr in ein anderes Worksheet oder eine andere Tabelle geswitcht.
Den "rng1" über die MsgBox auszugeben scheitert leider (Fehlermeldung), ich vermute, weil es ja kein einzelner Wert ist, sondern z.B. 10 Werte in 10 Zellen (Range) aus denen ja die Standarddeviation berechnet werden soll. Insofern kann rng1 keinen einzelnen, in einer MsgBox auslesbaren Wert zurückgeben.
Im Selectbereich befinden sich nur Daten die verarbeitet werden können. Mein Kollege hat mir seine Datentabelle geschickt und bei mir auf dem Rechner läuft das selbe Makro (wie gesagt, 1 zu 1 kopiert) an seiner Tabelle ohne die Fehlermeldung "die StDev_P-Eigenschaft des WorksheetFunction-Objektes kann nicht zugeordnet werden" durch und liefert das gewünschte Ergebnis.
Ich kann leider heute nicht mehr auf die Datei meines Kollegen zugreifen. Habe auch keinen direkten Zugriff auf seinen PC. Wegen größerer Entfernung haben wir alles gemeinsam über ein Zommmeeting eingerichtet. Das macht es auch nicht ganz leicht, jetzt an der Lösung für meinen Kollegen zu arbeiten, der gar keine VBA-Kenntnisse und nur marginale Excelkenntnisse besitzt.
Ich könnte jetzt mein Makro und meine Datei hochladen, aber bei mir läuft das Makro ja problemlos. Könnte das dennoch helfen, um das Problem bei meinem Kollegen besser zu verstehen?
Vielen Dank für die Mühe, schnell wird sich das vermutlich nicht lösen lassen aufgrund der angesprochenen Konstellation.
LG Sebastian
Anzeige
Gelöst!
26.09.2022 07:50:59
Sebastian
Hallo Marc,
"befinden sich im Select Bereich eventuell Daten die er nicht verarbeiten kann."
Das war nun doch der entscheidende Hinweis! Der Kollege hatte seinen Rechner zwischenzeitlich auf Englisch umgestellt und auch das Dezimal-Trennzeichen systemweit von Komma auf Punkt umgestellt. Damit kann die Worksheetfunktion offenbar nicht umgehen. Mit Ganzzahlen hat es dann wieder funktioniert und dann eben auch nach der Rückstellung von Punkt auf Komma unter Optionen - Erweitert - Trennzeichen von Betriebssystem übernehmen - Dezimaltrennzeichen = , ...
Ich danke dir nochmals ganz herzlich für die Unterstützung bei der nicht ganz einfachen Ferndiagnose!
Herzliche Grüße Sebastian
Anzeige
AW: Gelöst!
26.09.2022 07:53:31
Sebastian
P.S.: deswegen lief seine Tabelle auch bei mir durch, weil ich natürlich systemweit wie üblich das Komma eingestellt habe.
LG Sebastian

13 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige