मैं तो जैसे किसी कार्यपुस्तिका है:एक्सेल सशर्त स्वरूपण प्रिंटिंग के दौरान प्रदर्शित नहीं होता है?
एक सशर्त स्वरूपण स्तंभ में मेरी शीर्ष दस नंबर उजागर करने के लिए यूसाथ
मैं अपने कार्यपुस्तिका में निम्न VBA कोड है :
और यह कोड जो अक्षम कर देता है गणना और पुन: सक्षम कर गणना:
Option Explicit
Sub code2()
MsgBox "This will take upto 2 minutes."
Application.ScreenUpdating = False
Dim WB As Workbook
Dim I As Long
Dim j As Long
Dim Lastrow As Long
Dim WeekNum As Integer
'Clear Data Sheet
On Error GoTo Message
With ThisWorkbook.Worksheets("Data")
.Rows(2 & ":" & .Rows.Count).ClearContents
End With
On Error Resume Next
Set WB = Workbooks("L.O. Lines Delivery Tracker.xlsm")
On Error GoTo 0
If WB Is Nothing Then 'open workbook if not open
Set WB = Workbooks.Open("G:\WH DISPO\(3) PROMOTIONS\(18) L.O. Delivery Tracking\L.O. Lines Delivery Tracker.xlsm")
End If
' ======= Edit #2 , also for DEBUG ======
With WB.Worksheets(1)
Lastrow = .Cells(.Rows.Count, "G").End(xlUp).Row
j = 2
For I = 7 To Lastrow
WeekNum = CInt(Format(.Range("G" & I).Value, "ww", 2) - 1)
' === For DEBUG ONLY ===
Debug.Print CInt(ThisWorkbook.Worksheets(2).Range("B9").Value)
Debug.Print WeekNum
Debug.Print CInt(ThisWorkbook.Worksheets(2).Range("D9").Value)
Debug.Print Year(.Range("G" & I).Value)
Debug.Print ThisWorkbook.Worksheets(2).Range("B6").Value
Debug.Print .Range("M" & I).Value
If CInt(ThisWorkbook.Worksheets(2).Range("B9").Value) = WeekNum Then ' check if Month equals the value in "A1"
If CInt(ThisWorkbook.Worksheets(2).Range("D9").Value) = Year(.Range("G" & I).Value) Then ' check if Year equals the value in "A2"
If ThisWorkbook.Worksheets(2).Range("B6").Value = .Range("M" & I).Value Then
ThisWorkbook.Worksheets(3).Range("A" & j).Value = .Range("G" & I).Value
ThisWorkbook.Worksheets(3).Range("B" & j).Formula = "=WeekNum(A" & j & ",21)"
ThisWorkbook.Worksheets(3).Range("C" & j).Value = .Range("L" & I).Value
ThisWorkbook.Worksheets(3).Range("D" & j).Value = .Range("D" & I).Value
ThisWorkbook.Worksheets(3).Range("E" & j).Value = .Range("E" & I).Value
ThisWorkbook.Worksheets(3).Range("F" & j).Value = .Range("F" & I).Value
ThisWorkbook.Worksheets(3).Range("g" & j).Value = .Range("p" & I).Value
ThisWorkbook.Worksheets(3).Range("H" & j).Value = .Range("H" & I).Value
ThisWorkbook.Worksheets(3).Range("I" & j).Value = .Range("I" & I).Value
ThisWorkbook.Worksheets(3).Range("J" & j).Value = .Range("J" & I).Value
ThisWorkbook.Worksheets(3).Range("k" & j).Value = .Range("Q" & I).Value
ThisWorkbook.Worksheets(3).Range("L" & j).Value = .Range("m" & I).Value
j = j + 1
End If
End If
End If
Next I
End With
Application.Calculation = xlAutomatic
ThisWorkbook.Worksheets("Data").UsedRange.Columns("B:B").Calculate
ThisWorkbook.Worksheets(2).UsedRange.Columns("B:AA").Calculate
On Error GoTo Message
With ThisWorkbook.Worksheets(2) '<--| change "mysheet" to your actual sheet name
Intersect(.Range(Rows(14), .UsedRange.Rows(.UsedRange.Rows.Count)), .Range("G:G")).WrapText = True
Intersect(.Range(Rows(14), .UsedRange.Rows(.UsedRange.Rows.Count)), .Range("G:G")).EntireRow.AutoFit
End With
End
ThisWorkbook.Worksheets(2).Activate
Application.ScreenUpdating = True
Exit Sub
Message:
On Error Resume Next
Exit Sub
End Sub
मैं अगर यह क्योंकि मैं calclulations पर और बंद किया जा रहा हूँ पता नहीं है, लेकिन जब मैं इस पत्र मुद्रित करने के लिए, यहां तक कि अगर मैं प्रिंट चाहते हैं पीडीएफ के रूप में। सशर्त स्वरूपण नहीं दिखाता है।
कृपया कोई मुझे दिखा सकते हैं मैं गलत क्या कर रहा हूँ?
संपादित करें: मैं भी कार्यपुस्तिका को यह जोड़ने की कोशिश की है:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
For Each wk In Worksheets
wk.Calculate
Next
End Sub
यह अभी भी काम नहीं करता।
बस कुछ गुगल किया और पाया [यह] (https://answers.microsoft.com/en-us/msoffice/forum/msoffice_excel-mso_other/conditional-formatting-does-not-update/08fed959-df7a -4e43-a0ae-a2aa5f587edd)। वीबीए कोड एडिटर में प्रॉपर्टी विंडो में, 'EnableFormatConditionsCalculation' सत्य पर सेट है? – jsheeran
@jsheeran ठीक है धन्यवाद इसलिए मैंने रखने की कोशिश की: ThisWorkbook.Worksheets (2)।EnableFormatConditions पहले प्रिंट ईवेंट में गणना करें और इससे कोई फर्क नहीं पड़ता – user7415328
यह एक प्रॉपर्टी है, एक विधि नहीं। इसे 'यह वर्कबुक। वर्कशीट्स (2) में बदल रहा है। सक्षमफॉर्मैट कंडीशनेशन = सही' कोई फर्क पड़ता है? – jsheeran