Avatar billede egmose Novice
28. november 2014 - 17:04 Der er 12 kommentarer og
1 løsning

Kontrollere at celle er udfyldt inden udskrift

Hej

Jeg har aldrig begivet mig ud VBA før på egen hånd - Har altså aldrig prøvet det i praksis..

Jeg har et Excel ark, hvor visse celler skal være udfyldt inden det må udskrives...

Det er office 2013..

Jeg har forsøgt mig med forskellig kode fra nettet - hhv. en dansk og en engelsk side, men det er min fornemmelse jeg ikke gør det rigtigt..

Det bliver sat ind under VBA, men hvad gør jeg efterfølgende?

Kunne også rigtig godt tænke mig at farve nogen celler - Dem som skal udfyldes, men farven skal ikke med på udskriften..

På forhånd mange tak :)
Avatar billede kabbak Professor
28. november 2014 - 17:37 #1
OK

Marker alle de celler der skal udfyldes, navngiv dem som "Udfyldes", det gøres der hvor du kan se celleadressen

Koden herunder skal i ThisWorkbook modulet.

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    If ActiveSheet.Name = "Formular" Then    ' ret til den side der skal udskrives
        For Each C In Range("Udfyldes")
            If IsEmpty(C) Then
                MsgBox "Celle " & C.Address & " Er ikke udfyldt," & vbCrLf & " udfyld den og prøv igen"
                Cancel = True
                Exit Sub
            End If
        Next
    End If
End Sub


NB husk at rette
ActiveSheet.Name = "Formular"
til navnet på dit ark
Avatar billede egmose Novice
28. november 2014 - 17:59 #2
AWESOME! Point til kabbak :D
Avatar billede egmose Novice
28. november 2014 - 18:08 #3
Og dog - Kan jo ikke give flere felter det samme navn? :O Når jeg skriver navnet, hopper den jo bare til den første jeg kaldte "udfyld"..

Men kan man skrive celle pos. ind manuelt er det også ok? F.eks. c5, h4 osv.?
Avatar billede kabbak Professor
28. november 2014 - 18:12 #4
Navnet er et område, kan også være en enkelt celle, når det er et område, gennemløber man cellerne i en for next løkke.

"Når jeg skriver navnet, hopper den jo bare til den første jeg kaldte "udfyld".."
ja, men resten er også markeret ;-))
Avatar billede kabbak Professor
28. november 2014 - 18:19 #5
Nu kan du farvelægge cellerne, dem som de skal taste ind i, farven fjernes ved udskrift.

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    If ActiveSheet.Name = "Formular" Then    ' ret til den side der skal udskrives
        For Each C In Range("Udfyldes")
            If IsEmpty(C) Then
                MsgBox "Celle " & C.Address & " Er ikke udfyldt," & vbCrLf & " udfyld den og prøv igen"
                Cancel = True
                Exit Sub
            End If
        Next
        Range("Udfyldes").Interior.ColorIndex = xlNone ' fjerner farven inden udskrivning
    End If
End Sub
Avatar billede kabbak Professor
28. november 2014 - 18:21 #6
Avatar billede egmose Novice
28. november 2014 - 18:34 #7
Vil du uddybe hvordan jeg navngiver flere celler? Selvom jeg markerer flere, farver dem, og skriver udfyldes - er det kun den sidste jeg har markeret der får det navn?

Muligvis det forkerte sted jeg navngiver? Bruger feltet TV for fx?
Avatar billede kabbak Professor
28. november 2014 - 18:51 #8
Klik ind på første celle,hold CTRL nede, klik så enkeltvis på de celler der skal udfyldes.
Til sidst klikkes der hvor du kan navngive, slip CTRL, skriv navnet, tryk ENTER.

så skulle den være der
Avatar billede egmose Novice
28. november 2014 - 19:01 #9
Desværre ikke :(
Avatar billede egmose Novice
28. november 2014 - 19:09 #10
Bum . Fandt ud af det - Formler -> navnstyring -> tilføj, marker dem :D

Du er stadig dagen helt! Takker!
Avatar billede kabbak Professor
28. november 2014 - 19:23 #11
velbekomme
Avatar billede egmose Novice
28. november 2014 - 19:33 #12
Lige et sidespørgsmål - Når nu jeg sender det her dokument til en vil den vel ikke afvikle koden vel? Er der en metode til at man kun kan bruge arket hvis de vil afvikle koden?
Avatar billede kabbak Professor
28. november 2014 - 20:31 #13
Jo den vil afvikle, hvis vedkommende har godkendt at makroer må køres, det er jo en sikkerheds opsætning i Excel
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
Kurser inden for grundlæggende programmering

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