• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

vba: functie naar array laten schrijven

Status
Niet open voor verdere reacties.

badeend127

Gebruiker
Lid geworden
16 nov 2016
Berichten
18
Beste,

Op dit moment gebruik ik op het werk een add-in. Deze add-in laat toe bepaalde data terug te vinden van op een server.
Als ik deze functie naar een cel sleep zal deze dus de data gaan halen. Dit kan een cel of meerdere cellen zijn naar gelang de tijd die ingesteld is.
Als ik de inhoud van de cel bekijk staat er =>=Q("waarde";"begintijd";"eindtijd") etc. Naargelang de selectie staan er {} rond of niet.
Als ik de file beveiligd opendoe staat de locatie van de addin er ook nog voor. Mijn vraag nu is:
Ik zou willen werken met een addin box en dergelijke om deze data aan te passen. Daarna zou ik de functie willen gebruiken en de data in een array stoppen.
Ik heb al alle manieren van syntax geprobeerd maar er is niks dat vba als juist code aanneemt. Wil er een goede ziel mij aub even op het goede pad zetten. Alvast bedankt!

Mvg,
 
badeend127, om hiermee geholpen te kunnen worden lijkt 't me handig als je toch minimaal je gebruikte procedures en functies toont. Wij zien namelijk niet wat jij wel ziet... ;)
 
Beste,

Ik heb in bijlage een voorbeeld gegeven. Dit is dus maar een enkele cel in het voorbeeld.
In dit geval wordt er Now-1 hour en now gebruikt. Dit levert een array op.
Als u nog vragen heeft laat gerust weten!
Mvg,

Bekijk bijlage voorbeeld excel.xlsx
 
Beste,

Als u dit bestand met protected view bekijkt ziet u ook weer het path naar de locatie van de addin.
Ik zou dus nu willen verkrijgen dat deze data meteen naar een array kan worden gelezen met vba.
Ps het is mss evident maar ik zal geef toch even mee dat u een error zal krijgen met mijn excel omdat deze niet kan connecteren naar onze server.

Bedankt!
 
Heb jij enige notie van VBA/Excel ?
 
Beste,

Ik kan programmeren in autoit en dergelijke. Excel werk ik mee maar zoals de normale gebruiker.
Ik ben nu volop tutorials aan het doen van vba maar ondertussen ook verder aan het bouwen aan de weg naar mijn einddoel.
Vergeef mij dus als mijn vraag voor u als belachelijk gemakkelijk overkomt.

Met vriendelijke groeten,
 
Probeer dit eens:
Code:
myarray = application.run("'" & "TExaquantum Explorer Add-In.xla" & "'!QDATA", "Naam data", "NOW-1 HOURS", "NOW", "1899-12-30 00:00:00", , , 0, 0, 0, 1, , , , , , , , , 0, , 0)

Als dit werkt kun je op de plekken van de parameters, jouw eigen parameters (eventueel via een inputbox) invullen.
 
Beste,

Ik ben met uw tip aan de slag gegaan. Ik heb een hele hoop mogelijkheden geprobeerd. De macro kan echter niet worden geopend of is gedisabeled krijg ik als foutmelding. Hier is een voorbeeldje van mijn code.
Range("B3").Value = Application.Run("'C:\Program Files (x86)\Microsoft Office\Office15\LIBRARY\Exaquantum Explorer Add-In.xla" & "'!QDATA(""Mijn Data"";""NOW"";;;""1899-12-30 00:00:00"";;0;0;0;1;;;;;;;;;0;;0)'")

Bedankt voor de reply's
 
Bovenstaande gaat sowieso niet lukken ivm al die ; ipv ,

Zag dat ik in bovenstaande een T teveel had getypt...

Code:
Range("b3").Value = Application.Run("'Exaquantum Explorer Add-In.xla'!QDATA", "Naam data", "NOW-1 HOURS", "NOW", "1899-12-30 00:00:00", , , 0, 0, 0, 1, , , , , , , , , 0, , 0)
 
Beste,

Ik krijg er nog steeds geen werkende code mee. Nog enige suggesties over wat ik kan proberen?
Kan ik u misschien even persoonlijk contacteren?

Alvast bedankt,
 
"geen werkende code" zegt niet zoveel,
  • wat is(zijn) de foutmelding(en)?
  • Plaats je de code in het bestand waarin de functie in de het werkblad wel werkt?
  • Heb je al standaard een verwijzing naar deze add-in?
 
Beste,

De functie returned #VALUE. Als ik deze opzoek in de help krijg ik :
If an error has occurred, for example an invalid access string has been specified, the function will return with "#VALUE!".
Ik denk dus dat het aanroepen van de macro werkt. Enkel de schrijfwijze nog niet ok is. Klopt dit?

Bedankt!
 
En mijn andere twee vragen/punten?

Dus als je jouw 'macrootje' draait (met de code uit post#9) krijg je verders geen melding, enkel #Value in B3?
 
Beste,

Ik heb een verwijzing gemaakt naar de addin via references en ik heb een knop gemaakt met onderstaande code:
Sub Button1_Click()
Range("B3").Value = Application.Run("'Exaquantum Explorer Add-In.xla'!QDATA", "data", "NOW")
End Sub

De qdata is korter doordat ik wat getrimd heb in parameters. Het werkt als ik het gewoon ingeef.
De code staat dus ook in het werkblad waar de functie werkt.

Mvg,
 
Heet de macro 'data' ?
In welke codemodule staat de aan te roepen macro ?
Is het een macro of een functie ?
 
en wat doet:
Code:
Range("B3").Value = QDATA("data", "NOW")
Nu je die verwijzing hebt?
 
Beste,
Ik gebruik altijd de functie =qdata in excel. Deze geef ik dus in een cel in. Ik vermoed dus een functie?
De naam van de module moet ik morgen even checken. Het probleem is dat ze passwoord beveiligd is dus dat ik niet kan zien welke code hier in staat.
Dit is vrij vervelend aangezien ik anders een pak wijzer zou zijn over hoe ik data moet invoeren en wat het geheel juist doet.
En de macro of functie heet qdata.

mvg,
 
plaats anders de xla hier even...

post#16 al geprobeerd?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan