15. marts 2006 - 11:43Der 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
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
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
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
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
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
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
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
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...
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
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
Synes godt om
Ny brugerNybegynder
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.