Gå til innhold

får feilmelding: loop without do, men hvorfor?


Anbefalte innlegg

Public Sub finnrad()

Dim SKRIVERAD
Dim SKRIVEBEKREFTELSE
Dim LUP

SKRIVERAD = 3
LUP = 1

Do
SKRIVEBEKREFTELSE = Ark1.Cells(SKRIVERAD, 11).Value
   If SKRIVEBEKREFTELSE = 1 Then
       SKRIVERAD = SKRIVERAD + 1
   Else: LUP = 0
   
Loop Until LUP = 0

End Sub

 

den er til et exel ark, skal kjøre igjennom en liste med personer og dems info og finne en open rad.

 

skrivebekreftelse er en kode i ragnearket som er 1 om raden har info, og 0 om raden er tom.

 

variabelen lup bruker jeg bare for å kunne komme ut av loop'en.

 

 

når jeg prøver å kjøre den får jeg feilmelding "loop without Do"

noen som aner hvorfor`?

Lenke til kommentar
Videoannonse
Annonse

Jeg kan ikke VBA, men kansje dette virker?

 

Public Sub finnrad()

Dim SKRIVERAD As Integer
Dim SKRIVEBEKREFTELSE As Integer
Dim LUP As Integer

SKRIVERAD = 3
LUP = 1

Do Until LUP = 0
SKRIVEBEKREFTELSE = Ark1.Cells(SKRIVERAD, 11).Value
  If SKRIVEBEKREFTELSE = 1 Then
      SKRIVERAD = SKRIVERAD + 1
  Else
LUP = 0
  End If
  
Loop

End Sub

 

Jeg har ikke testet det, og det ser sikkert helt på trynet.

Endret av ze5400
Lenke til kommentar
Du bør la Excel gjøre søkejobben for deg heller enn å loope celler og lese innhold, som f.eks:

 

Sub FinnRad()

MsgBox Ark1.Columns("K:K").Find(What:="0").Row

End Sub

 

HTH. Beste hilsen Harald

7463215[/snapback]

 

 

sub rutinen er for å finne ut hvilken rad den kan skrive til. er det mulig å bytte ut msgbox'en med noe annet?

 

og vil den søke nedover og levere den første raden som satt variabel, eller en tilfeldig med 0 ?

 

har også gjort som geirgrusom sa og lagt til exit do i stedenfor.

Lenke til kommentar

Sub'er som skal returnere noe heter Function. Så skriv om til f.eks dette

 

Function FirstZeroRow() As Long

On Error Resume Next

FirstZeroRow = Ark1.Columns("K:K").Find(What:="0").Row

End Function

 

Det er veldig vanskelig å råde om hva som er praktisk uten å forstå hva dette gjør og hvorfor. Din opprinnelige kode produserer heller ingenting, den finner en null og glemmer umiddelbart både det og alt det andre den holdt på med. Kan du gi litt mer detaljer om hva dette er i hvilken sammenheng ?

 

HTH. Beste hilsen Harald

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...