Avatar billede splokit Nybegynder
15. marts 2006 - 11:43 Der er 29 kommentarer og
1 løsning

Vb hvis og hvis ikke

i O16:O27 har jeg nogle tider....
hvia der er data i O16 skal det også være data i P16
så hvis det er data i O16:O27 skal det også være det i P16:P27 men kun ud for de celler som har værdi

Hvis ikke der er det skal den ikke gøre noget
Hvis der er skal den call X
Avatar billede splokit Nybegynder
15. marts 2006 - 12:17 #1
bedre endnu Hvis der er værdi i C14 skal det også være værdi i O:P
det skal så være i C14:C27 ud for den celle... ellers er det det samme...
Avatar billede oyejo Nybegynder
15. marts 2006 - 12:31 #2
Prøv denne som en test. hvis den fungerer kan du erstatte msgbox linjene med dine
call x setniger

Sub test()
For n = 14 To 27
  If Not IsEmpty(Cells(n, 3)) Then
    If IsEmpty(Cells(n, 15)) Then
      MsgBox " rad " & n & " kolonne O mangler verdi "
    End If
    If IsEmpty(Cells(n, 16)) Then
      MsgBox " rad " & n & " kolonne p mangler verdi "
    End If
  End If
Next
End Sub
Avatar billede splokit Nybegynder
15. marts 2006 - 12:40 #3
compile error
type mismatch
Avatar billede oyejo Nybegynder
15. marts 2006 - 12:51 #4
hmm... fungerer her

Prøv å lime koden inn i en ny excel bok

skriv ett tall i celle  fx c15
prøv så å kjøre koden i den nye boken
Avatar billede splokit Nybegynder
15. marts 2006 - 12:55 #5
nej vil den heller ikke... den værdi som er i o og p er tid hvis det hjælper...
Avatar billede oyejo Nybegynder
15. marts 2006 - 13:02 #6
er det først når du endrer koden slik at dine call X setninger er med at det ikke fungerer?

hvis så er tilfellet.

når du skriver call x
da må x være kode som er skrevet før.

slik sub x
endre dette til public sub x

....

men hvis du ikke får denne koden til å kjøre i en ny bok
dete du kun har et tall i c15. da er det noe annet galt,

Sub test()
For n = 14 To 27
  If Not IsEmpty(Cells(n, 3)) Then
    If IsEmpty(Cells(n, 15)) Then
      MsgBox " rad " & n & " kolonne O mangler verdi "
    End If
    If IsEmpty(Cells(n, 16)) Then
      MsgBox " rad " & n & " kolonne p mangler verdi "
    End If
  End If
Next
End Sub
Avatar billede splokit Nybegynder
15. marts 2006 - 13:10 #7
virker på et nyt ark men ikke på det ark jeg har...
Avatar billede splokit Nybegynder
15. marts 2006 - 13:11 #8
call ovrefor_tilprint
hedder den macro som den skal kalde
Avatar billede splokit Nybegynder
15. marts 2006 - 13:16 #9
jeh har kaldt den for nv så virker det....
For nv = 14 To 27

nok fordi jeg har så mange vb koder på mit ark... :S

man det virker nu... mange tak... smid et svar... :D
Avatar billede oyejo Nybegynder
15. marts 2006 - 13:18 #10
flott :-)
Avatar billede splokit Nybegynder
15. marts 2006 - 13:18 #11
næsten...
hvor skal jeg smide call macro... så den ikke kalder den hvis det mangler værdi
Avatar billede oyejo Nybegynder
15. marts 2006 - 13:27 #12
skal du kun utføre call hvis både o og p har verdi?
da tror jeg det blir slik

Sub test()
For n = 14 To 27
  If Not IsEmpty(Cells(n, 3)) Then
    If Not IsEmpty(Cells(n, 15)) And Not IsEmpty(Cells(n, 16)) Then
      call ovrefor_tilprint
    End If
Next
End Sub
Avatar billede oyejo Nybegynder
15. marts 2006 - 13:28 #13
obs! husk å endre n til nv :-)
Avatar billede splokit Nybegynder
15. marts 2006 - 13:36 #14
nej den kaldet på selv om det mangler værdier
Avatar billede splokit Nybegynder
15. marts 2006 - 13:41 #15
denne her er fin så man kan se om det mangler noget man hvis man kan gøre at den gør
hvis værdi mangler end sub ellers call ?
Sub test()
For nv = 14 To 27
  If Not IsEmpty(Cells(nv, 3)) Then
    If IsEmpty(Cells(nv, 15)) Then
      MsgBox " rad " & nv & " kolonne O mangler verdi "
    End If
    If IsEmpty(Cells(nv, 16)) Then
      MsgBox " rad " & nv & " kolonne p mangler verdi "
    End If
  End If
Next
End Sub
Avatar billede oyejo Nybegynder
15. marts 2006 - 13:45 #16
mulig jeg ikke har lest spørsmålet godt nok,
får skylde på min dårlige dansk :-)

må det være verdier i alle celler fra O14:o27
OG ALLE celler fra P14:p27?
før setningen skal kalles?
Avatar billede oyejo Nybegynder
15. marts 2006 - 13:52 #17
Prøv denne

Sub test()
For nv = 14 To 27
  If Not IsEmpty(Cells(nv, 3)) Then
    If Not IsEmpty(Cells(nv, 15)) And Not IsEmpty(Cells(nv, 16)) Then
      MsgBox "C" & nv & " og O" & nv & " Og P" & nv & "  har alle en verdi"
    End If
    End If
Next
End Sub
Avatar billede oyejo Nybegynder
15. marts 2006 - 13:58 #18
Hvis jeg har forstått riktig..
så er det nok at en rad er fylt fx c16, o16 og p16
men kanskje den kun skal bruke call en gang selv om flere rader er fylt?
da kan kanskje denne hjelpe?

Sub test()
For nv = 14 To 27
  If Not IsEmpty(Cells(nv, 3)) Then
    If Not IsEmpty(Cells(nv, 15)) And Not IsEmpty(Cells(nv, 16)) Then
      MsgBox "C" & nv & " og O" & nv & " Og P" & nv & "  har alle en verdi"
      Exit Sub
    End If
    End If
Next
End Sub
Avatar billede splokit Nybegynder
15. marts 2006 - 14:04 #19
:) hvis der er en værdi i C skal der være værdi i o og p ud for den række værdien er i hvis der er værdi i den call X og hvis ikke end sub

det er ikke altid der er værdi i alle celler i c man ud for dem der er skal det være i o:p
Avatar billede oyejo Nybegynder
15. marts 2006 - 14:14 #20
fx. hvis det er verdi
i C14, O14 OG P14 og også i C15 og P15, men IKKE i O15
Men så er det verdi i C16, O16 OG P16

SKAL DEN DA GJØRE CALL BÅDE FOR RAD 14 OG 16? ELLER BARE EN GANG, ELLER INGEN GANGER?

kommunikasjon er vanskelig :-)
Avatar billede splokit Nybegynder
15. marts 2006 - 14:18 #21
kun hvis der er værdi i de celler i vædier i o p ud for de celler i c som har værde
Avatar billede oyejo Nybegynder
15. marts 2006 - 14:30 #22
Sub test()
Dim Signal As Long
Signal = 0
For nv = 14 To 27
  If Not IsEmpty(Cells(nv, 3)) Then
    Signal = 1
    If IsEmpty(Cells(nv, 15)) Or IsEmpty(Cells(nv, 16)) Then
      Exit Sub
    End If
  End If
Next
MsgBox "I alle rader der C har verdi er det også verdi i O og P :-)"
End Sub
Avatar billede oyejo Nybegynder
15. marts 2006 - 14:32 #23
Hvis det fungerer, erstatt
MsgBox "I alle rader der C har verdi er det også verdi i O og P :-)"
med din call setning
Avatar billede splokit Nybegynder
15. marts 2006 - 14:38 #24
hvis der mangler en værdi i "O:P" hvis der er en værdi i "C" vis msgbox og end sub
men mangler der ikke nogle værdi i "O:P" ud for "C" call macro
Avatar billede splokit Nybegynder
15. marts 2006 - 14:43 #25
hvis det kun er værdi i C14:C15 skal den kun se i om det er værdi i O:P-14:15 hvis der er værdi skal den køre en macro og hvis der mangler en værdi skal den ikke gøre noget...
Avatar billede splokit Nybegynder
15. marts 2006 - 15:37 #26
Virker men kan den give en msgbox hvis der mangler en værdi!?
Avatar billede oyejo Nybegynder
15. marts 2006 - 15:39 #27
Prøver igjen :-)

Sub test()
Dim Signal As Long
Signal = 0
For nv = 14 To 27
  If Not IsEmpty(Cells(nv, 3)) Then
    Signal = 1
    If IsEmpty(Cells(nv, 15)) Or IsEmpty(Cells(nv, 16)) Then
      Exit Sub
    End If
  End If
Next
If Signal = 1 Then
  ' Her kan du sette inn din Call setning
End If
End Sub
Avatar billede splokit Nybegynder
15. marts 2006 - 15:39 #28
Har den... takker
Avatar billede splokit Nybegynder
15. marts 2006 - 15:40 #29
If IsEmpty(Cells(nv, 15)) Or IsEmpty(Cells(nv, 16)) Then
jeg smed den her i mellem
      Exit Sub
Avatar billede oyejo Nybegynder
15. marts 2006 - 15:46 #30
Denne gir også beskjed om det er O eller P som mangler verdi

Sub test()
Dim Signal As Long
Signal = 0
For nv = 14 To 27
  If Not IsEmpty(Cells(nv, 3)) Then
    Signal = 1
    If IsEmpty(Cells(nv, 15)) Then
      MsgBox "Rute O" & nv & " er tom"
    End If
    If IsEmpty(Cells(nv, 16)) Then
      MsgBox "Rute P" & nv & " er tom"
    End If
    If IsEmpty(Cells(nv, 15)) Or IsEmpty(Cells(nv, 16)) Then
      Exit Sub
    End If
  End If
Next
If Signal = 1 Then
  ' Her kan du sette inn din Call setning
End If
End Sub
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