Mal ne frage und zwar habe ich gestern ein Makro aus dem Forum erstellt bekommen der klappt auch super zur Erklärung
der bewirkt das vor dem Drucken die zelle G ausgeblendet wird wenn in F nicht SW steht
jetzt meine Frage kann man das Makro auch so gestalten, das wenn gar kein SW in F vorhanden ist das die komplette Spalte G vor dem Drucken ausgeblendet wird und nach dem Drucken wieder eingeblendet wird
Hoffe ich habe es halbwegs gut erklärt
Option Explicit
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim A&
Dim meArG(), meArFG()
Dim i As Integer, sMonat$
For i = 1 To 12
With Sheets(MonthName(i, True)) 'Tabelle Jan bis Dez
MerkAr(i) = .Range("G16:G120").Value2
meArFG = .Range("G16:F120").Value2
meArG = MerkAr(i)
For A = 1 To Ubound(meArFG)
If meArFG(A, 1) "SW" Then
meArG(A, 1) = ""
End If
Next A
.Range("G16").Resize(Ubound(meArG)) = meArG
End With
Next i
Application.OnTime Now + TimeSerial(0, 0, 1), "NachPrint"
End Sub
kommt als Code in Modul1
Option Explicit
Private Declare Sub GetSafeArrayPointer Lib "msvbvm60.dll" Alias _
"GetMem4" (pArray() As Any, sfaPtr As Long)
Public MerkAr(1 To 12)
Sub NachPrint()
Dim sfaPtr As Long
Dim i As Integer
GetSafeArrayPointer MerkAr, sfaPtr
If sfaPtr > 0 Then
For i = 1 To 12
With Sheets(MonthName(i, True)) 'Tabelle Jan bis Dez
.Range("G16").Resize(Ubound(MerkAr(i))) = MerkAr(i)
End With
Next i
Erase MerkAr
End If
End Sub