Avatar billede mercu Nybegynder
29. oktober 2009 - 23:24 Der er 3 kommentarer og
1 løsning

Hente data fra et andet ark?

Jeg vil gotd hente nogen  data fra et andet ark.

Men kan ikke rigtigt få det til at passe, det er mit "ark1" hvor jeg gerne vil åbne arket også hente data derfra.

'jeg starter med at deklarere mine variable
Dim i As Integer
Dim AR As Integer
Dim CPR As String
Dim CPR1 As String
Dim NR As Integer

Dim ark1 As Range
Dim ark2 As Range

Dim a As Integer
Dim b As Integer
Dim c As Integer
Dim d As Integer
Dim E As Integer
Dim F As Integer
Dim G As Integer
Dim H As Integer
Dim k As Integer
Dim j As Integer

Dim TestSum As Long

'jeg sætter mine anker celler


Set ark1 = Workbooks.Open.Path & "C:\Users\thomas international\Desktop\medlemskartotek.xlsx"
Set ark2 = ThisWorkbook.Sheets("Sheet1").Range("A2")
Avatar billede mercu Nybegynder
29. oktober 2009 - 23:33 #1
Jeg kan sagtens få den åbnet den workbook jeg gerne vil åbne, men hvordan sætter jeg den så til en objektvariabel? Sådan ark1 henviser til "medlemskartotek" og jeg kan hente data fra denne?


Workbooks.Open ("C:\Users\thomas international\Desktop\medlemskartotek.xlsx")


Set ark1 =
Set ark2 = ThisWorkbook.Sheets("Sheet1").Range("A2")
Avatar billede Lene Fredborg Ekspert
29. oktober 2009 - 23:58 #2
Du kan f.eks. gøre sådan - bemærk den ændrede datatype for ark1:

Dim ark1 As Workbook
Dim ark1_Range As Range

'Selve filen
Set ark1 = Workbooks.Open(FileName:="C:\Users\thomas international\Desktop\medlemskartotek.xlsx")

'Nu kan du referere til filen med "ark1":
Set ark1_Range = ark1.Sheets("Sheet1").Range("A2")

Husk at "tømme" dine objektvariable til sidst:

set ark1 = Nothing
set ark1_Range = Nothing
Avatar billede mercu Nybegynder
30. oktober 2009 - 00:36 #3
Jeg havde faktisk selv fået løst mit problem, men dit er lidt smartere end min egen måde, så bruger den :)

Lige et helt andet spørgsmål.

Jeg har 2 ark.

Et med kunde data, bl.a. post nummer og by.

Så har jeg en post nr og by tabel.

Jeg skal for HVER række i kundedata tabellen finde ud af om postnr og by passer sammen.

Dvs. jeg skal lave noget kode, som kan bruge hver række i min kundedata - det er nemt nok.

MEn den skal så SØGE i HELE post nr / by datafilnen om der er fit i mellem post nr om by.

Hvordan søger jeg i rækkerne/ranget?
Avatar billede Lene Fredborg Ekspert
30. oktober 2009 - 09:44 #4
Det kan gøres på flere måder.

Du kan bruge en funktion som denne (her forudsat at postnr. og by-listen er i et sheet "PostBy" i den aktive workbook:

Function PostnrByOK(strPostnr As String, strBy As String) As Boolean
    Dim oRange As Range
    Dim n As Long

    Set oRange = ActiveWorkbook.Sheets("PostBy").UsedRange
    PostnrByOK = False
   
    'Tjek alle rækker og sammenlign værdier
    With oRange
        For n = 1 To .Rows.Count
            If .Cells(n, 1) = strPostnr And .Cells(n, 2) = strBy Then
                PostnrByOK = True
                'stop tjek
                Exit For
            End If
        Next n
    End With
   
    Set oRange = Nothing

End Function


Når du så skal have undersøgt nogle værdier, kan du kalde funktionen med de pågældende værdier som parametre:

    If PostnrByOK([udskift med postnummeret], "[udskift med bynavn]") = True Then
        'Gør noget her
    Else 'Ikke OK
        'Gør noget andet her
    End If
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