• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

VBA: Macro knop moet alleen werken wanneer bepaalde cel waarde heeft >"0"

Status
Niet open voor verdere reacties.

Hawkie003

Gebruiker
Lid geworden
11 aug 2015
Berichten
24
Ik heb een macro gemaakt met een dynamisch printbereik. Nu is de inhoud van het betreffende blad niet altijd aanwezig, afhankelijk van de data genereert dit blad ook data.

In sommige gevallen is er dus niks en aangezien het blad wel vol staat met formules, worden wanneer dan op de marco knop gedrukt wordt toch alle pagina's afgedrukt i.p.v. het dynamische bereik (wat er op dat moment niet is)

Ik ben dus op zoek naar een formule voor in de VBA macro, waarmee de activatie van de macro afhankelijk is van een bepaalde cel met bijvoorbeeld waarde "1" of >"0". Deze zinnen zou ik dan voor de rest van de macro kunnen zetten, zodat deze deactiveert wanneer de waarde niet hoog genoeg is.

Hoor het graag. Alvast bedank!
 
Bovenin je macro:
Code:
If Waarde = 0 Then
    Exit Sub
End If
 
Dan drukt de pagina alsnog af.

Zo ziet de macro er nu uit (incl. de regel die u hebt aangedragen). Hij moet dus enkel kunnen afdrukken bij een waarde groter dan 0.

Sub Print_Data()
If Sheets("Invoer").Range("H7") = "0" Then
Exit Sub
End If
ActiveWorkbook.Unprotect Password:="test"
Application.ScreenUpdating = False
Sheets("Print_Data").Visible = True
Sheets("Print_Data").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="test"
ActiveWorkbook.Worksheets("Print_Data").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Print_Data").AutoFilter.Sort.SortFields.Add Key:=Range( _
"H21:H90"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Print_Data").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End With
Sheets("Print_Data").Select
ActiveSheet.Protect Password:="test"
Sheets("Data").Select
Range("B6").Select
Sheets("Print_Data").Visible = xlVeryHidden
Application.ScreenUpdating = True
ActiveWorkbook.Protect Password:="test"
End Sub
 
Let je wel op het verschil tussen 0 en "0" ?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan