Avatar billede mcblach Nybegynder
03. juni 2004 - 18:49 Der er 9 kommentarer og
3 løsninger

hente data fra et ark til en celle i naboark.

Jeg skal fra en liste i kolonne A (1,2,3,4-200) hente de celler der i kolonne B er sat kryds ved, og overføre dem i et nabo ark i en celle adskilt med et komma og et mellem rum.
eks.
  A | B
1 1 |tom
2 2 |x
3 3 |x   
de celler i kolonne A der med et kryds er valg i kolonne B, skal føres over i et nabo ark og se sådan ud,
Nabo ark:
sættes i en celle og se sådan ud: 2, 3, ?

Jeg har prøvet med HVIS funktionen men der var ikke plads nok i formlen, ser sådan ud:=HVIS(Beregningsark!H3>0;Beregningsark!I3;)&HVIS(Beregningsark!H4>0;Beregningsark!I4;)osv.
Håber I kan hjælpe.
På forhånd tak!
03. juni 2004 - 18:53 #1
Hvor mange rækker drejer det sig om?
Avatar billede mcblach Nybegynder
03. juni 2004 - 18:57 #2
ca. 150
Avatar billede kabbak Professor
03. juni 2004 - 22:07 #3
Sættes i et modul

Public Function FindX()
Dim Rw As Long, Data As String
Rw = Range("A65536").End(xlUp).Row
For i = 1 To Rw
If UCase(Cells(i, 2)) = "X" Then
Data = Data & Cells(i, 1) & Chr(44)
End If
Next
FindX = Left(Data, Len(Data) - 1)
End Function

skriv =FindX() i den celle du vil have dem overført til
Avatar billede mcblach Nybegynder
03. juni 2004 - 22:55 #4
tak, jeg vil prøve, vender tilbage om det lykkedes.
Avatar billede mcblach Nybegynder
03. juni 2004 - 23:40 #5
Hej Kabbak

Jeg har prøvet at oprette et modul i Visual Basic ( for første gang ), jeg har direkte kopieret din tekst, og derefter indsat =FindX() i ark 2, men den kommer frem med #værdi, skal der stå noget i mellem () i =FindX(), jeg har prøvet med =FindX(Ark1!B:B) og =FindX(Ark1!A:A), men det er jo nok ikke rigtigt, har tid og lyst til at forklarer en nybeynder fremgangs måden (undskyld) ;-) 1000 tak indtil videre.
Avatar billede kabbak Professor
04. juni 2004 - 00:14 #6
Min fejl, jeg testede den i samme ark

Public Function FindX()
Dim Rw As Long, Data As String
Set ws = Worksheets("Ark1") ' ret  navnet til det ark , den skal hente fra
Application.Volatile
Rw = ws.Range("A65536").End(xlUp).Row
For I = 1 To Rw
If UCase(ws.Cells(I, 2)) = "X" Then
Data = Data & ws.Cells(I, 1) & Chr(44)
End If
Next
FindX = Left(Data, Len(Data) - 1)
End Function
Avatar billede kabbak Professor
04. juni 2004 - 00:24 #7
Nu har jeg helt lavet den om, nu skal du vise den området med de 2 kolonner.

Public Function FindX(Område As Range)
Dim Data As String, Fdata As Variant
Application.Volatile
Fdata = Område
For I = 1 To UBound(Fdata)
If UCase(Fdata(I, 2)) = "X" Then
Data = Data & Fdata(I, 1) & Chr(44)
End If
Next
FindX = Left(Data, Len(Data) - 1)
End Function
Avatar billede mcblach Nybegynder
04. juni 2004 - 09:52 #8
Genialt, 1000 1000 tak, det er super det virker, tak Kabbak
Avatar billede kabbak Professor
04. juni 2004 - 09:59 #9
du tog selv point ;-(
Avatar billede mcblach Nybegynder
04. juni 2004 - 11:57 #10
Undskyld, hvordan giver jeg dig pointne.
Undskyld mange gange.
Avatar billede kabbak Professor
04. juni 2004 - 11:59 #11
lav et spørgsmål her i excel katogorien.

overskrift = Point til kabbak

henvis med link til dette spørgsmål
Avatar billede mcblach Nybegynder
04. juni 2004 - 12:00 #12
OK.
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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