Avatar billede Slettet bruger
20. oktober 2009 - 14:59 Der er 8 kommentarer og
1 løsning

Kan denne funktion forenkles?

Er der en nemmere måde at gøre følgende:

="s.products="""&";"&Products!H3&",; "&Products!H4&",; " &Products!H5&",; "

Ovenfor funktion henter værdier fra 3 kolonner i sheetet Products. Jeg har yderligere 200 rækker i kolonn "H" der skal ind i ovenstående funktion. Jeg kunne sagtens bare udvide den med f.eks.:

="s.products="""&";"&Products!H3&",; "&Products!H4&",; " &Products!H5&",; "&Products!H6&",; "&Products!H7&",; "&Products!H8&",; "&Products!H9&",;  " ...... H10, H11, H12, H13 osv!

Dette ville dog tage noget tid. Kan funktionen ikke gøres enklere og nemmere?
Avatar billede Slettet bruger
20. oktober 2009 - 15:01 #1
Output bliver: s.products=";Tekst fra H1,; Tekst fra H2,; Tekst fra H3 ... osv!
Avatar billede mhp_dk Nybegynder
20. oktober 2009 - 15:12 #2
Når din formel er dette:
="s.products="""&";"&Products!H3&",; "&Products!H4&",; " &Products!H5&",; "

og du så trækker den 3 linier ned får du i den 3. linie
="s.products="""&";"&Products!H5&",; "&Products!H6&",; " &Products!H7&",; "

Denne kan du så paste sammen med din oprindelige formel, nu henter den så 6 korrekte værdier, så kopi du denne formel 6 linier ned så har du i linie 6 noget du igen kan bruge i din formel så du nu har 12 steder osv.

Ikke særlig smukt men lidt nemmere.
Avatar billede Slettet bruger
20. oktober 2009 - 15:18 #3
Okay, kan det ikke gøres uden man skal til at trække formularen linier ned og derefter copy/paste dem sammen?

Det er noget jeg skal bruge en del så det ville være at foretrække hvis jeg ikke efterfølgende skulle røre ved formularen i cellen med mindre jeg overstiger evt. 200 rækker i kolonne H.
Avatar billede Slettet bruger
20. oktober 2009 - 15:31 #4
En funktion hvor man fortælle den skal tage værdier fra H1 - H200 og imllem hver værdi skal der sættes 2 tegn ind med et mellemrum på begge sider: ,;
Avatar billede mhp_dk Nybegynder
20. oktober 2009 - 15:34 #5
Så skal du nok rettet lidt i denne data i stedet.
F.eks. kunne du i kolonne I sætte =",;" i række 1 til 200
Så kan du lave en formel der heder noget ligende =H1&I1 og trække denne ned til række 200.
Så skulle det være muligt at lave en ny formel der tager A1&A2&A3 osv.
Avatar billede excelent Ekspert
20. oktober 2009 - 19:24 #6
Prøv med denne Brugerdefineret Funktion
I arket taster du =Samle(Products!H1:H200)

Function Samle(rng As Range) As String
Samle = "s.products=" & Chr(34)
For Each c In rng
If c <> "" Then Samle = Samle & c & ",; "
Next
Samle = Left(Samle, Len(Samle) - 3) & Chr(34)
End Function
Avatar billede Slettet bruger
21. oktober 2009 - 10:25 #7
Hej excelent,
Unskyld men hvordan opretter jeg en brugerdefineret funktion i excel?
Jeg bruger 2003.
Avatar billede excelent Ekspert
21. oktober 2009 - 13:58 #8
Tast ALT+F11
Vælg Module i menuen Insert
Indsæt koden der
Avatar billede excelent Ekspert
30. november 2009 - 17:06 #9
hvordan går det ?
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester