Avatar billede familienriis Nybegynder
29. februar 2008 - 10:39 Der er 1 kommentar og
1 løsning

hente data fra et andet ark - fortsat

Jeg har fået hjælp til et spørgsmål tidligere:
http://www.eksperten.dk/spm/821625

Som endte ud i denne kode.
Den virker perfekt, men der er en variation mere, som jeg gerne vil have løst.

I ark2 er nolge gange både positive og negative tal i kolonne F.
Hvis dette er tilfældet skal den gøre "næsten" som den kode der allerede er lavet.

Hvis tallet er positivt skal den overføre til kolonne E. i ark1.
Hvis tallet er negativt skal den overføre til kolonne F. i ark1.

Jeg kan ikke selve hitte ud af at få lagt en if-sætning ind i koden. Er der nogle af jer andre der kan?


Sub hentdata()
    Dim c As Range, i as integer
    i = 4
    For Each c In Application.Intersect(Worksheets("Ark2").UsedRange, Worksheets("Ark2").Range("A:A"))
        If c.Row > 4 Then
            If c <> "" Then
                Worksheets("Ark1").Range("A4").Offset(i, 0) = c.Offset(0, 0)
                Worksheets("Ark1").Range("B4").Offset(i, 0) = c.Offset(0, 1)
                Worksheets("Ark1").Range("C4").Offset(i, 0) = c.Offset(0, 2)
                Worksheets("Ark1").Range("D4").Offset(i, 0) = c.Offset(0, 3)
                Worksheets("Ark1").Range("E4").Offset(i, 0) = c.Offset(0, 4)
                i = i + 1
            End If
        End If
    Next
End Sub
Avatar billede familienriis Nybegynder
29. februar 2008 - 21:30 #1
jeg har fortsøgt mig med en lidt alternativ løsning.
Jeg kigger kolonne F igennem og hvis tallet er negativ, skal den flyttes fra kolonne

F til kolonne E, men det virker ikke helt.
Den jeg har kopiere alle celler fra F til E, hvilket ikke just er meningen.

Er der nogen der kan sige hvor det går galt.


Sub flytkolonne()
    Dim c As Range, i As Integer
    i = 4
    For Each c In Application.Intersect(Worksheets("ark1").UsedRange, Worksheets("ark1").Range("F:F"))
        If c.Row > 4 Then
            If c.Value < 0 Then
                Worksheets("ark1").Range("F4").Offset(i, -1) = Worksheets("ark1").Range("F4").Offset(i, 0)
                i = i + 1
            Else
        End If
    Next
End Sub
Avatar billede familienriis Nybegynder
02. marts 2008 - 09:33 #2
lukker dette spørgsmål og omformulerer mig i et nyt spg.
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