15. december 2010 - 10:50Der er
8 kommentarer og 1 løsning
VBA funktion virker ikke men macro gør hvorfor?
Jeg skal bruge en Function i Excel så jeg kan retunere en(flere) værdi til mit ark, det er til optælling af mails i en mailbox med initialer. Inbox'en er importeret via MS query og ligger i sheet(1)/("Inbox") Koden der virker i en sub macro1 ser således ud: [code] Debug.Print "HaWoow!"
ActiveWorkbook.Sheets(1).Select Range("Table_Query_from_W_PRS_Mail_in_1[[#Headers],[_70]]").Select Range(Selection, Selection.End(xlDown)).Select Set DatesRng = Selection
Range("Table_Query_from_W_PRS_Mail_in_1[[#Headers],[_73]]").Select Range(Selection, Selection.End(xlDown)).Select Set SubjectRng = Selection
dtoday = Now
count = 1
Debug.Print "HaWoow!" [/code] Koden virker som sagt fint som sub men når den kommer i function så kommer den ikke videre end det første "hawoow!" men melder ikke debug fejl :-( Det skal siges jeg skal bruge funktionen i et andet sheet. Når jeg indsætter funktionen i Inbox sheet siger den cirkluær refference. Jeg håber der er nogen der kan hjælpe er ved at blive tosset hehe
Jeg ved denne ligger mellem Excel/Programmering men jeg postede den i Excel
Tak, den havde jeg ikke lige fanget :-) Måske lidt basic men hvordan henviser jeg så til en range på et andet sheet i en fuction? nogen forslag? eller den query?
Jeg har overvejet at fyre en SQL af pr funktions kald men der er ca 18 x 10, og jeg syntes ikke den ODBC driver jeg bruger er så stabil(Notes ODBC) så jeg ville egentlig helst holde det til så lidt kald som muligt.
Prøv det lige først. Som sagt har jeg ikke selv testet. Altewrnativ kan du lave et range argumenet i din funcktion, så du starter med at markere det relevante område.
Det virker næsten, jeg får desværre kun sidste felt med. Grunden til at jeg ikke tager range med er at det gerne skulle være dynamisk, men hvis man kan fange en range med noget ala funktion(A4:A4.End(xlDown);B4:B4) Kan jeg da godt bruge det :-)
Got it! :D [code] Set DatesRng = Range(Range("Table_Query_from_W_PRS_Mail_in_1[[#Headers],[_70]]"), Range("Table_Query_from_W_PRS_Mail_in_1[[#Headers],[_70]]").End(xlDown)) [/code] Den sku læige deles op :D mange tak for at lede mig på den rigtige vej
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.