Avatar billede mdm Nybegynder
25. februar 2002 - 16:23 Der er 7 kommentarer og
2 løsninger

Hente data fra andet excelark

Hvorledes hentes oplysninger fra et excelark til et andet ved hjælp af VBA ?
Der er tale om at jeg på baggrund af et nummer skal hente alle records med dette nummer.

I destinations arket c:\destination.xls står der f.eks. 1426 i celle H3 og når jeg så trykker
"Enter" skal alle poster i filen c:\kilde.xls hvor der i kolonne A står 1426, kopieres over i
c:\destination.xls ark1 i område H10:K999
Avatar billede mdm Nybegynder
25. februar 2002 - 21:47 #1
Hmm det er åbenbart svært det siden ingen kan svare.

Det er ok hvis det koster nogle flere point. Lad os sige at der er 100 ude.
Avatar billede jesperthomsen Nybegynder
25. februar 2002 - 23:17 #2
Hehe - det er da en sjov lille en. Jeg har leget en del med kodning mod Word og Outlook, men ikke Excel. Hvilken Excel-version taler vi om her? Kan du eventuelt sende mig filerne, så prøver jeg engang. Ville det være en mulighed at lave odbc-kilder mod filerne? Det ville nok være en nem måde.
jesperthomsen@yahoo.com
Avatar billede mdm Nybegynder
25. februar 2002 - 23:43 #3
Har sendt to filer en kilde.xls og en destination.xls

Der skal helst ikke benyttes odbc, men vel noget med open file....

Det er Excel 97.
Avatar billede jesperthomsen Nybegynder
26. februar 2002 - 20:33 #4
Så har jeg sendt en løsning til dig...er faktisk lidt i tvivl om jeg fik den vedhæftede fil med. I øvrigt, lidt mere info her: http://groups.google.com/groups?hl=da&threadm=bpyxr6FSBHA.264%40cppssbbsa01.microsoft.com&rnum=1&prev=/groups%3Fq%3Dvb%2Bexcel%2Bado%26hl%3Dda
Avatar billede rvm Nybegynder
26. februar 2002 - 23:25 #5
Du skulle heller spørge under Excel, da vi også der svarer på VBA spørgsmål *S*

Det var et tilfælde jeg lige var her inde, menher er så en kode, der kunne aktiveres via en knap på værktøjslinien eller knap indsat i arket:

Sub Kopier()
       
'Henter værdien i celle H3
Find = Range("H3").Value

'Åbner Kildefilen
Workbooks.Open "Kilde.XLS"
     
'returnerer rækkeantal i arket
ActiveCell.SpecialCells(xlLastCell).Select
Række = ActiveCell.Row

'En variabel
x = 10

'Gennemløber alle rækker
For n = 1 To Række
    'Hvis celleværdien i rækken = Find
    If Cells(n, 1).Value = Find Then
          'Kopierer rækken fra kilde.xls - i dette tilfælde 15 celler
          Range(Cells(n, 1), Cells(n, 15)).Copy
          'Aktiverer destinationsarket
          Workbooks("Destination.xls").Sheets("Ark1").Activate
          'Vælger H10
          Cells(x, 8).Select
          'Sætter ind
          ActiveSheet.Paste
          Workbooks("Kilde.XLS").Sheets("Ark1").Activate
          'Lægger 1 til variablen så rækken bliver rigtig i destination.xls
          x = x + 1
    End If
Next n

Workbooks("Kilde.XLS").Close SaveChanges:=False

End Sub

Mvh

Richardt
Avatar billede fomse Nybegynder
26. februar 2002 - 23:30 #6
Lytter
Avatar billede mdm Nybegynder
28. februar 2002 - 16:54 #7
Mange tak for hjælpen.

Jeg har desværre ikke VB så svaret fra jesperthomsen var lidt svært at bruge, men jeg har delt de 100 point.
Avatar billede jesperthomsen Nybegynder
28. februar 2002 - 16:59 #8
Ja, så kan jeg godt se at det er lidt vanskeligt at bruge ;). Men brug hellere Excel-gruppen næste gang så.
Fomse -> hvis du gerne vil have sovsen så lad mig få din email og jeg sender den.
Avatar billede fomse Nybegynder
28. februar 2002 - 19:05 #9
jesperthomsen>>Du må meget gerne sende den på: fomse@fomsgaard.com

Takker

Fomse:-)
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
Kurser inden for grundlæggende programmering

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