Avatar billede Marting Forsker
07. februar 2021 - 17:44 Der er 13 kommentarer og
1 løsning

Finde mandag i cellerne H11:H17

Hej  : -)

Jeg ville godt finde mandag i cellerne H11:H17

Ark1

H11 = ”Torsdag”
H12 =”Fredag”
H13=”Lørdag”
H14=”Søndag”
H15=”Mandag”
H16=”Tirsdag”
H17=”Onsdag”


Module1
' finde mandag H11:H17

Dim i As Integer

næste = 10

For i = 1 To 7

næste = næsten + 1

If Range("H" & næste) = "Mandag" Then

Worksheets("Ark1").Range("B1") = "OK"


End If

Worksheets("Ark1").Range("B" & næste) = "OK1"
Next

End Sub

Hilsen Martin
Avatar billede madklub Guru
07. februar 2021 - 20:11 #1
Der er en fejl:
næste = næsten + 1

Du kunne også:
For i = 11 To 17
og
Worksheets("Ark1").Range("B" & i) = "OK"
Avatar billede Marting Forsker
07. februar 2021 - 20:29 #2
madklub >

Ja nu tælder den

hvorfor kan denne ikke brures  ? næste = næsten + 1

hvordan så hvis men skal have IF og finde "Mandag"?

Hilsen Martin G.
Avatar billede Jan K Ekspert
07. februar 2021 - 20:31 #3
F8rdi næste og næsten er to forskellige variabler.
Avatar billede Marting Forsker
07. februar 2021 - 20:56 #4
Jan K >

Ja det er forskellige variabler ”næsten” er en anden
Den burde tælle  med tænker jeg

For i = 1 To 7

næste = næsten + 1
Next

Er der ikke et sted hvor men kan se, hvad der stå i en variabel?
Avatar billede Marting Forsker
07. februar 2021 - 21:10 #5
Dim i As Integer
Dim dag As Integer


dag = 10

For i = 1 To 7

dag = dag + 1

Next

nu tæller den
Avatar billede madklub Guru
07. februar 2021 - 21:21 #6
Variablerne 'næste' og 'næsten' er lig 0 (nul).
Første gang bliver 'næste' lig med 1 (0+1), men da 'næsten' stadig er 0, øges 'næste' ikke anden gang.
Avatar billede Marting Forsker
07. februar 2021 - 21:38 #7
madklub >

for søren da  : -)  det er jo to forskellige  : -)
næsten  og næste  : -)

men er der ikke et sted hvor jeg kan se hvad der stå i en variabel?
Avatar billede store-morten Ekspert
07. februar 2021 - 21:48 #8
' finde mandag H11:H17

Dim i As Integer

næste = 11

For i = 1 To 7

    If Range("H" & næste) = "Mandag" Then
    Worksheets("Ark1").Range("B1") = "OK"
    End If
   
    Worksheets("Ark1").Range("B" & næste) = "OK1"
   
    næste = næste + 1
Next

Men den vil altid skrive: OK i B1 efter 7 gennemløb?
Og den vil altid skrive: OK1 i B11:B17 efter 7 gennemløb?
Avatar billede store-morten Ekspert
07. februar 2021 - 22:54 #9
Dim i As Integer

For i = 11 To 17

    If Range("H" & i) = "Mandag" Then
    Worksheets("Ark1").Range("B1") = "OK"
    Worksheets("Ark1").Range("B" & i) = "OK1"
    End If
 
Next
Avatar billede Marting Forsker
08. februar 2021 - 21:09 #10
Hej stor-morten

Jeg takker for hjælpen

Jeg er ved at kigge din kode lidt i sømmene : -)

Denne her  virker med den rigtige uge nr.
 
Range("B2") = DatePart("ww", Date - Weekday(Date, 2) + 4, 2, 2)

Tænker, hvad gør det her ” Weekday(Date, 2) + 4, 2, 2)” ?


Den her skriver en uge for meget 
Range("B2") = DatePart("ww", Date)


Nu passer den 😊
Range("B2") = DatePart("ww", Date)-1

Hilsen Martin G.
Avatar billede store-morten Ekspert
08. februar 2021 - 22:12 #11
DatePart("ww", Date - Weekday(Date, 2) + 4, 2, 2)

Den beregner ud fra at den første uge indeholder en torsdag.
Avatar billede Marting Forsker
11. februar 2021 - 21:04 #12
Godaften store – morten

Kan den ikke bare beregn,  uge nr. ud fra hvilken som helst dato?

Hvordan skulle den så se ud?


DatePart("ww", Date - Weekday(Date, 2) + 4, 2, 2)

Hilsen Martin  G.

God aften  : -)
Avatar billede store-morten Ekspert
11. februar 2021 - 21:27 #13
Dato i celle A2

Range("B2") = DatePart("ww", Range("A2") - Weekday(Range("A2"), 2) + 4, 2, 2)
Avatar billede Marting Forsker
18. april 2021 - 20:05 #14
Mangen Tak Morten  :-)
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