09. april 2010 - 23:39Der er
4 kommentarer og 1 løsning
Fejl i makro med hvis formel..
Har forsøgt lidt med denne makro:
Det er 3 sider på en fane, hvor Cellerne i D15 eller E15 skal afgøre om området B11:L72 skal markeres og sendes til print osv. som den er nu, sender den kun et område til print selv om der er 2 eller 3 der opfylder kravet. kan nogen hjælpe med dette? kan jeg desuden slippe for print menu hvis ingen krav er opfyldt?
Public Sub udskriv() If Range("D15") > 0 Or Range("E15") > 0 Then Range("B11:L72").Select If Range("D78") > 0 Or Range("E78") > 0 Then Range("B74:L137").Select If Range("D143") > 0 Or Range("E143") > 0 Then Range("B139:L202").Select Application.Dialogs(xlDialogPrint).Show , , , , , , , , , , , 1 End Sub
den laver en compile error. "Block if without end if"
men din formel over, laver den ikke et printer job for dem hver. den skal kunne, skrive alle områder der opfylder kravet ud til en fil. så jeg skal have sat de 3 if formler sammen og kun en gang til slut have "Application.Dialogs(xlDialogPrint).Show , , , , , , , , , , , 1" som så kan udskrive alt
Sub UnionX() Dim r1 As Range, r2 As Range, r3 As Range Set r1 = Sheets("Ark1").Range("B11:L72") Set r2 = Sheets("Ark1").Range("B74:L137") Set r3 = Sheets("Ark1").Range("B139:L202") If Range("D15") > 0 Or Range("E15") > 0 Then x = x + 1 If Range("D78") > 0 Or Range("E78") > 0 Then x = x + 10 If Range("D143") > 0 Or Range("E143") > 0 Then x = x + 100 If x = 1 Then r1.Select If x = 10 Then r2.Select If x = 100 Then r3.Select If x = 11 Then Union(r1, r2).Select If x = 101 Then Union(r1, r3).Select If x = 110 Then Union(r2, r3).Select If x = 111 Then Union(r1, r2, r3).Select If x > 0 Then Application.Dialogs(xlDialogPrint).Show , , , , , , , , , , , 1 Set r1 = Nothing: Set r2 = Nothing: Set r3 = Nothing End Sub
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.