Avatar billede hubertus Seniormester
29. oktober 2006 - 12:57 Der er 10 kommentarer og
1 løsning

identificer række og udfør en handling

Jeg har følgende kode, der skal gennemløbe et range. Når den finder et match på den indtastning jeg laver i txtdato (en userform), så skal den identificer rækken hvori matchet er, således at jeg kan udføre en handling på rækken. Gennemløbet skal fortsætte indtil der ikke er flere match.


Public Sub Loop()
    Dim rCell As Range
    Dim rCurReg As Range
 
    Set rCurReg = Sheets("testark").Range("A3").CurrentRegion
    Set rCurReg = rCurReg.Offset(1, 0).Resize (rCurReg.Rows.count - 1)
   
      For Each rCell In rCurReg.Columns(1).Cells
                   
        If rCell.Value = txtdato Then
       
             
        End If
 
        Next rCell
   
    Set rCell = Nothing
    Set rCurReg = Nothing
End Sub

hvem kan hjælpe?
Avatar billede kabbak Professor
29. oktober 2006 - 13:01 #1
If rCell.Value = txtdato Then
  Række = rCell.Row 
             
        End If
Avatar billede hubertus Seniormester
29. oktober 2006 - 13:59 #2
Jeg kan se, at row tæller op efterhånden som mit range gennemløbes, men variablen række forbliver tom.
Avatar billede hubertus Seniormester
29. oktober 2006 - 14:10 #3
det ser ud som om, at indtastningne i userformen ikke opfattes som en dato, da den aldrig kommer ind i if / endif sætningen.
Avatar billede kabbak Professor
29. oktober 2006 - 14:34 #4
Public Sub Loop()
    Dim rCell As Range
    Dim rCurReg As Range
  Dim Dato as Date
    Set rCurReg = Sheets("testark").Range("A3").CurrentRegion
    Set rCurReg = rCurReg.Offset(1, 0).Resize (rCurReg.Rows.count - 1)
    Dato =  txtdato
      For Each rCell In rCurReg.Columns(1).Cells
                   
        If rCell = dato Then
        Række = rCell.Row 

             
        End If
 
        Next rCell
   
    Set rCell = Nothing
    Set rCurReg = Nothing
End Sub

prøv denne
Avatar billede hubertus Seniormester
29. oktober 2006 - 14:51 #5
Den sidder lige i skabet - flot :o)
lægger du et svar?
Avatar billede kabbak Professor
29. oktober 2006 - 14:53 #6
et svar ;-))
Avatar billede kabbak Professor
29. oktober 2006 - 15:06 #7
tak for point ;-))
Avatar billede hubertus Seniormester
30. oktober 2006 - 21:49 #8
Et tillægsspørgsmål:
Kan man for for - next til at gennemløbe kolonnne bagfra?
For Each rCell In rCurReg.Columns(1).Cells
Avatar billede hubertus Seniormester
30. oktober 2006 - 21:50 #9
jeg bruger den til at finde nogle linier som slettes.
Avatar billede kabbak Professor
30. oktober 2006 - 23:55 #10
prøv denne

Public Sub Test()
    Dim Dato As Date, RK As Long
    Dato = txtdato
    RK = Sheets("testark").Range("A3").CurrentRegion.Rows.Count
    For i = RK To 3 Step -1
        If Cells(i, 1) = Dato Then

        End If
    Next
End Sub
Avatar billede hubertus Seniormester
31. oktober 2006 - 06:33 #11
:o) - det virker jo fint!  Kolonne A består af et skema med 80 celler, men der er kun indhold i f.eks. 25 celler. Kan linien RK = Sheets("testark").Range("A3").CurrentRegion.Rows.Count begrænses til kun at tælle de 25?
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