Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1304to1308
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

Problem bei VBA & freigegebenen Arbeitsmappen

Problem bei VBA & freigegebenen Arbeitsmappen
08.04.2013 09:23:27
Schmitty
Hallo zusammen,
da ich in meinem alten Theme nicht mehr schreiben kann, möchte ich hier die Frage noch einmal allgemeiner stellen:
Ich habe z.B. folgenen Eintag in einer (!) Zelle:
19.02.10-4019-50,90
23.06.10-2177-57,50
16.12.10-2499-59,90
Nun möchte ich die Werte zwischen den "-" addieren (also 4019+2177-2499 = ?).
Dafür nutze ich folgendes VBA:

Function Menge(ByVal strZelle As String) As Single
Dim Teil, N As Integer
Teil = Split(Range(strZelle).Value, "-")
For N = 1 To UBound(Teil) Step 2
Menge = Menge + CSng(Teil(N))
Next N
End Function

Sobald ich die Arbeitsmappe freigebe, erhalte ich ein Automatisierungsfehler.
Ist das VBA nicht richtig programmiert oder gibt es generell ein Problem bei VBA mit freigegebenen Arbeitsmappen?
Gruß
Christian

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

Betreff
Datum
Anwender
Anzeige
AW: Problem bei VBA & freigegebenen Arbeitsmappen
08.04.2013 09:45:06
Klaus
Hi,
offtopic:
warum übergibst du "strZelle" als STRING und nicht als RANGE? In deiner Version muss man in Excel =MENGE("C6") schreiben (mit "s), wenn du das direkt als RANGE übergist reicht =MENGE(C6) und das C6 kann - wie bei jeder anderen Formel auch - per Mausklick in die Zelle geholt werden.
Sähe dann so aus (Notation auch angepasst)
Public Function Menge(ByVal rngZelle As Range) As Single
Dim Teil As Integer, N As Integer
Teil = Split(rngZelle.Value, "-")
For N = 1 To UBound(Teil) Step 2
Menge = Menge + CSng(Teil(N))
Next N
End Function
Ontopic:
die oben genannte Function funktioniert bei mir in einer xlsm sowohl im fregegebenen als auch im nicht freigegebenen Modus. Ich nutze xl2010 unter WinXpPro.
Kannst du bitte eine Datei hochladen, in der besagte Funktion im Freigabemodus NICHT funktioniert?
Grüße,
Klaus M.vdT.

Anzeige
VBA in freigegebenen Arbeitsmappen
08.04.2013 09:52:08
NoNet
Hallo Christian,
es gibt zahlreiche Einschränkungen in freigegebenen MAppen - u.a. kann man VBA-Code nicht editieren.
Grundsätzlich soltle der VBA-Code jedoch ausführbar sein und finktionieren.
In meiner Beispiel-Datei funktioniert das einwandfrei !
Gruß, NoNet

AW: Problem bei VBA & freigegebenen Arbeitsmappen
08.04.2013 09:58:25
EtoPHG
Hallo Christian,
Hier findest du Einschränkungen freigegebener Arbeitsmappen.
Zu deiner Funktion:
Warum übergibst du deiner Funktion einen String, denn du dann wiederum für eine Range(-Adressierung) brauchst. Besser wäre es das Range-Objekt direkt als solches zu übergeben, dann stimmt auch die Adressierung. Bei deiner Anwendung kann die Range auf ein ganz anderes Objekt zeigen, denn auf welches es sollte! Ab 2007 ist XL sehr viel anfälliger auf nicht vollständig referenzierte Objekte.
Gruess Hansueli

Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige