Avatar billede spliit Nybegynder
22. februar 2010 - 20:49 Der er 1 kommentar og
1 løsning

Loop i excel der kan udvælge en periode fra et andet ark

Hej
Jeg har et lille excel problem, som jeg håber en herinde kan hjælpe mig med.
Jeg har et ark i excel med to kolonner
Kolonne af består af en periode fra 1/1-2008 til 2/2-2010
Kolonne B består af en række priser.
I et nyt ark vil jeg gerne have at det i to celler er muligt at vælge hvilken periode man vil se på. Jeg har derved lavet to dropdown boxe hvor man kan vælge start og slutdatoen for den periode man vil se på.
Hermed kommer mit spm. Hvordan kan jeg i vba lave en kode der kan tage den valgte periode og skrive priserne for denne periode i et nyt ark?
Jeg havde forestillet mig at man kunne lave et loop som gentages de antal celler som der er i den givne periode.
Skriv endelig hvis jeg skal uddybe noget i mit problem...
Avatar billede kabbak Professor
26. februar 2010 - 11:01 #1
Private Sub CommandButton1_Click()
    Dim R As Long, Data As Variant, I As Long, X As Integer
    Columns("A:B").ClearContents    ' tømmer kolonne A og B i det ark du står på
    Data = Sheets(1).Range("A1").CurrentRegion    ' data i ark1, læses ind i variablen Ddata
    R = 1
    For I = 1 To UBound(Data)

        If Data(I, 1) >= ([K1] And Data(I, 1) <= [L1]) Then
            For X = 1 To UBound(Data, 2) ' skriver i det aktive ark
                Cells(R, X) = Data(I, X)
            Next
            R = R + 1
        End If
    Next
End Sub
Avatar billede spliit Nybegynder
27. februar 2010 - 18:04 #2
Tusind tak for svaret. Det var perfekt.
Der var dog en lille parentes fejl. Så hvis der er andre som skal have gavn af dette spørgsmål, så kan nedenstående bruges.

Private Sub CommandButton1_Click()
    Dim R As Long, Data As Variant, I As Long, X As Integer
    Columns("A:B").ClearContents    ' tømmer kolonne A og B i det ark du står på
    Data = Sheets(1).Range("A1").CurrentRegion    ' data i ark1, læses ind i variablen Ddata
    R = 1
    For I = 1 To UBound(Data)

        If Data(I, 1) >= [K1] And Data(I, 1) <= [L1] Then
            For X = 1 To UBound(Data, 2) ' skriver i det aktive ark
                Cells(R, X) = Data(I, X)
            Next
            R = R + 1
        End If
    Next
End Sub
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