Avatar billede Snedronning Seniormester
28. juni 2016 - 13:09 Der er 5 kommentarer og
1 løsning

Lav løkke indtil rækken er tom

Hej
Jeg har et regneark med en masse oplysninger. Jeg har selv lavet en VBA kodning for lopslag, men mangler nu, at få lavet en løkke, som kører mit lopslag så længe der står noget i rækken i kolonne B. Når der ikke længere står noget, skal lopslaget ikke længere laves.
Er der en her inde, der kan hjælpe mig?
Jeg må lige skrive, at jeg er temmelig grøn, hvad VBA programmering angår.

På forhånd tak for jeres svar :o)
Med venlig hilsen
Karin
Avatar billede jakobdo Ekspert
28. juni 2016 - 13:16 #1
Hvad mener du med så længe der er noget i rækken?
Snakker vi du vil fjerne data når de er behandlet?
Eller snakker vi du ønsker at arbejde på de rækker der er noget i og den skal køre fra top til bund, så længe der er data i rækken?
Avatar billede kim1a Ekspert
28. juni 2016 - 15:14 #2
Hvis du sender din nuværende vba kan vi nemmere se hvad der sker og hvor vi skal "sætte ind". Jeg forestiller mig en do while Bx<>"" sådan lidt firkantet sagt, men prøv at vise os din kode.
Avatar billede Snedronning Seniormester
01. juli 2016 - 14:13 #3
Det er køre fra top til bund, men kun så længe der er udfyldt i kolonne B, da det drejer sig om en prisliste, hvor produkter bliver oprettet og andre udgår. Min kode ser således ud:

Sub Lopslag()
'
' Lopslag Makro
'

Dim iRow As Integer
Dim iColumn As Integer
iRow = 4
iColumn = 2
    Do Until IsEmpty(Cells(iRow, iColumn)) = True
   
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(RC[-6],'[Vareliste med alt.xlsx]Ark1'!R1C1:R3033C99,8,FALSE)"
    Range("H5").Select
   
          'ActiveCell.FormulaR1C1 = "=+RC[-2]*RC[-1]"
          ActiveCell.Offset(1, 0).Range("h5").Select
iRow = iRow + 1

    Loop
   
   
End Sub

Ind til videre.
Avatar billede kim1a Ekspert
01. juli 2016 - 22:54 #4
En lille modifikation:
Sub Lopslag()
'
' Lopslag Makro
Dim iRow As Integer
Dim iColumn As Integer
lastrow = Range("A" & Rows.Count).End(xlUp).Row
iColumn = 2
    For iRow = 4 To lastrow
    Cells(iRow, iColumn).Select
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(RC[-1],'Aark1'!R1C1:R3033C99,2,FALSE)"
    Next iRow
End Sub
Avatar billede kim1a Ekspert
01. juli 2016 - 22:58 #5
Hov bemærk jeg ændrede på din opslagsformel for at lave en simpel test i mit.
Avatar billede Snedronning Seniormester
08. december 2017 - 11:57 #6
UNDSKYLD kim1a, opdagede lige, at jeg aldrig fik markeret dit forslag som løsningen. Det er hermed gjort!
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

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