[vba/excel] Altijd aanroepen van gemaakte functie

Pagina: 1
Acties:
  • 587 views sinds 30-01-2008
  • Reageer

  • 456
  • Registratie: April 2000
  • Niet online

456

Onze excuses voor het ongemak

Topicstarter
Ik heb reeds een goed werkende functie gemaakt in een worksheet. Enkel werkt deze functie als alleen in het workbook, waarin de functie een onderdeel van de module is.
Is het nu mogelijk om deze functie ALTIJD aan te roepen, net als dat je met
=som
of
=als
doet?

Een dag geen vertraging, is een dag niet gereisd


  • brokenp
  • Registratie: December 2001
  • Laatst online: 23:23
ik snap niet helemaal wat je bedoelt...
Als je wil dat een vba-functie altijd uitevoerd wordt, dan kan je de code aanroepen in
worksheet_change

  • Rataplan
  • Registratie: Oktober 2001
  • Niet online

Rataplan

per aspera ad astra

Ik denk dat 456 wil dat hij de functie altijd kan gebruiken, zonder het workbook te openen waar die functie in is gedefinieerd.

En dat kan niet zomaar :) Oplossing: maak je eigen add-in met je functie erin, en zorg dat die standaard door Excel geladen wordt.

Howto: http://www.pcmag.com/article2/0,4149,715715,00.asp


Journalism is printing what someone else does not want printed; everything else is public relations.


  • 456
  • Registratie: April 2000
  • Niet online

456

Onze excuses voor het ongemak

Topicstarter
Klopt rataplan, das wak wil. Bedankt voor de link. Ik zal er morgen eens op mijn gemak voor gaan zitten.

Een dag geen vertraging, is een dag niet gereisd


  • 456
  • Registratie: April 2000
  • Niet online

456

Onze excuses voor het ongemak

Topicstarter
kewl, het werkt als een trein dankzij je link. nog 1 vraagje, komt niet echt naar voren in het artikel, en kan het ook niet echt googlen (sowieso ook deze vraag niet vandaar dat ik hem hier stelde, ik wist niet waar ik op moest zoeken)

kan ik nu ook help toevoegen aan deze functie? net zoals met andere functies als sum en als.
Dat je dus de argumenten krijgt in zon formpje.
overigens is mijn functie af en werkend dus dit is enkel voor mijn interest dus doe niet teveel moeite

Een dag geen vertraging, is een dag niet gereisd


  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

456 :: dat laatste is mogelijk wat jij wilt, maar het is even zoeken. Ik heb het zelf ook weleens willen doen, maar heb het toen ook opgegeven (het zoeken), echter nu nogmaals geprobeerd. Je moet maar aan de volgende termen denken: user defined function, tooltip, add-in, help.

Met deze informatie kwam ik op dit topic/draadje op het usenet archief. Persoonlijk denk ik dat je met het voorbeeld wat daarin gegeven is wel uit de voeten moet kunnen.

Nog een paar linkjes:

[ Voor 19% gewijzigd door Woudloper op 02-10-2003 23:37 ]


  • 456
  • Registratie: April 2000
  • Niet online

456

Onze excuses voor het ongemak

Topicstarter
Kewl!
Levert weer wat leuke leesstof op :)
Via UDF in google ben ik ook op deze link gekomen:
http://www.visualbasicforum.com/t94972.html
Sinds vandaag lid op dat forum, voor vba'ers een soort van porno pagina. ERG veel info bij elkaar in het forum!

Een dag geen vertraging, is een dag niet gereisd


  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

Ook een mooie link naar dat forum, maar deze linke welke daarin vermeld staat legt het zeker netjes uit....
offtopic:
Dat je vandaag lid bent geworden daar betekend toch niet dat je ons gaat verlaten, of gewoon verbreding....

  • 456
  • Registratie: April 2000
  • Niet online

456

Onze excuses voor het ongemak

Topicstarter
Tja. Het zijn allemaal prachtig mooie voorbeelden over hoe je een nieuwe functie kan maken, en er zelfs een UDF van kan maken dat automatisch kan worden aangeroepen in excel.
Maar helaas (op een enkele vage pagina na) geen uitgesproken manier om je argumenten een uitleg mee te geven.
We zoeken en klooien nog eens verder ;)

offtopic:
Zeker niet. VBA zal ik altijd hier eerst posten, laagdrempeliger (ook al krijg je hier zo nu en dan nog wel eens een pan met water naar je harses gesmeten. Op andere fora leggen ze dan gewoon nog een keer uit hoe iets moet), en op die manier wordt GoT completer.
Daarom probeer ik ook als ik het antwoord op mijn eigen vraag heb, die alsnog te posten hier!

Een dag geen vertraging, is een dag niet gereisd


  • Rataplan
  • Registratie: Oktober 2001
  • Niet online

Rataplan

per aspera ad astra

How 'bout http://longre.free.fr/english/index.html#FunCustomize ?

Dan moet je jammer genoeg een add-in gebruiken om een andere add-in mee van commentaar te voorzien. Maar het lijkt wel op wat je zoekt, toch?

edit:
Loooooool! Woudloper heeft exact dezelfde gevonden, zie ik nét even te laat :D
Nou, dan moet het wel de goede oplossing zijn. Nee, echt :*)

edit:

http://www.as-ltd.co.uk/xllplus-online/fnwiz_overview.htm laat je niet in excel, maar in VS ontwikkelen. Maar dan heb je ook alles wat je ooit nodig zal hebben :)

Het moet toch mogelijk zijn ergens de GGD uit deze posts te halen. Waarom kunnen zij allemaal wel parameter info meegeven en wij niet :/

[ Voor 65% gewijzigd door Rataplan op 03-10-2003 13:18 ]


Journalism is printing what someone else does not want printed; everything else is public relations.


  • 456
  • Registratie: April 2000
  • Niet online

456

Onze excuses voor het ongemak

Topicstarter
Rataplan schreef op 03 October 2003 @ 13:12:
How 'bout http://longre.free.fr/english/index.html#FunCustomize ?

Dan moet je jammer genoeg een add-in gebruiken om een andere add-in mee van commentaar te voorzien. Maar het lijkt wel op wat je zoekt, toch?

edit:
Loooooool! Woudloper heeft exact dezelfde gevonden, zie ik nét even te laat :D
Nou, dan moet het wel de goede oplossing zijn. Nee, echt :*)

edit:

http://www.as-ltd.co.uk/xllplus-online/fnwiz_overview.htm laat je niet in excel, maar in VS ontwikkelen. Maar dan heb je ook alles wat je ooit nodig zal hebben :)

Het moet toch mogelijk zijn ergens de GGD uit deze posts te halen. Waarom kunnen zij allemaal wel parameter info meegeven en wij niet :/
Klopt, die funcustomize heb ik gisteren ook mee proberen te werken. Ik kan het alleen niet hebben dat ik niet in hun .dll kan kijken, die ook daadwerkelijk nodig is.

Ergo, toch geprobeert, en volgens hun stappen plan (te vinden in de helpfile) te werk gegaan. Ik kreeg 0 op mijn rekest. Ik kreeg enkel en alleen weer mijn argumenten te zien, zonder de daarbij behorende extra informatie die ik in mijn cellen had moeten zetten.
Raar.
Inderdaad vind ik het ook raar dat je dus wel een mooie addin kan bouwen, maar dat er verder geen extra informatie bij gevoegd kan worden (middels een simpele manier.)
Ik kwam overigens ook nog op een andere pagina uit, waar je zelf ook de .dll kon bouwen, maar dat werkt allemaal met VB ipv VBA.

edit: dat XLL pakket ziet er smooth uit! (via je link) eens kijken of ik daar niet aan kan komen :)
edit2:Demo ff gedownload
edit3:Ik snap nu pas dat je dit alleen kunt gebruiken icm Visual studio 6/c++ of .net2002/2003.
Iemand enige ervaring hiermee?

[ Voor 10% gewijzigd door 456 op 03-10-2003 14:32 ]

Een dag geen vertraging, is een dag niet gereisd


  • Rataplan
  • Registratie: Oktober 2001
  • Niet online

Rataplan

per aspera ad astra

456 schreef op 03 October 2003 @ 14:18:
edit3:Ik snap nu pas dat je dit alleen kunt gebruiken icm Visual studio 6/c++ of .net2002/2003.
Iemand enige ervaring hiermee?
Ik ben bang van wel :) Maar als je eerder
Ik kwam overigens ook nog op een andere pagina uit, waar je zelf ook de .dll kon bouwen, maar dat werkt allemaal met VB ipv VBA.
schreef, ga je dit denk ik ook niet willen. Visual Studio is VB en alles wat moeilijker is ;) Oh, en het is ook bepaald niet gratis :>


Journalism is printing what someone else does not want printed; everything else is public relations.


  • 456
  • Registratie: April 2000
  • Niet online

456

Onze excuses voor het ongemak

Topicstarter
Rataplan schreef op 03 oktober 2003 @ 14:49:
[...]

Ik ben bang van wel :) Maar als je eerder
[...]
schreef, ga je dit denk ik ook niet willen. Visual Studio is VB en alles wat moeilijker is ;) Oh, en het is ook bepaald niet gratis :>
Nou, dat van die .dll maken was ook niet bepaald eenvoudig, plus je had er visual basic voor nodig, ipv vba.
kdenk dat ik het maar opgeef, zoals er al eens iemand eerder sprak in dit topic. Kheb nog andere projectjes in vba lopen, die blijven liggen (en ook niet bepaald eenvoudig: vullen van combobox zonder gebruik van cellen)

:'(
RAARRRR
Het leek me zo simpel (gewoon wat argumenten ergens neer kwakken die dan worden meegenomen in de addin ... )

[ Voor 11% gewijzigd door 456 op 03-10-2003 14:52 ]

Een dag geen vertraging, is een dag niet gereisd


  • Rataplan
  • Registratie: Oktober 2001
  • Niet online

Rataplan

per aspera ad astra

456 schreef op 03 October 2003 @ 14:51:
kdenk dat ik het maar opgeef, zoals er al eens iemand eerder sprak in dit topic. Kheb nog andere projectjes in vba lopen, die blijven liggen (en ook niet bepaald eenvoudig: vullen van combobox zonder gebruik van cellen)
Ik hou mijn ogen iig open, als ik nog eens wat vind dan post ik het zeker. Naar die combobox ben ik ook erg benieuwd, wist niet eens dat dat kon (of zou moeten kunnen); ik vrees dat je daar ook niet zonder VS vanaf komt. Als je het niet erg vind om een eventueel resultaat hier te posten...
:'(
RAARRRR
Het leek me zo simpel (gewoon wat argumenten ergens neer kwakken die dan worden meegenomen in de addin ... )
*over bolletje aait*

Het is wel simpel, het kost alleen allemaal zo verrekte veel tijd om je IDE's en talen enzo eigen te maken :) Maar je hebt iig je add-in, moet je maar denken ;)


Journalism is printing what someone else does not want printed; everything else is public relations.


  • 456
  • Registratie: April 2000
  • Niet online

456

Onze excuses voor het ongemak

Topicstarter
Rataplan schreef op 03 oktober 2003 @ 14:58:
Naar die combobox ben ik ook erg benieuwd, wist niet eens dat dat kon (of zou moeten kunnen); ik vrees dat je daar ook niet zonder VS vanaf komt. Als je het niet erg vind om een eventueel resultaat hier te posten...
Heeeeeel simpel eigenlijk :)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub toevoegen()
ComboBox1.Clear
FolderName = Dir("C:\its456\", vbDirectory)
Do While FolderName <> ""
    If FolderName <> "." And FolderName <> ".." Then
        If (GetAttr("C:\its456\" & FolderName) And vbDirectory) = vbDirectory Then
           ComboBox1.AddItem FolderName
        End If
    End If
    FolderName = Dir()
Loop
End Sub

Private Sub ComboBox1_Change()
Dim user As String
user = ComboBox1.Value
End Sub

Een dag geen vertraging, is een dag niet gereisd

Pagina: 1