मैंने डेटा लिपि के ताज़ा होने पर संख्या के आधार पर विभिन्न रंगीन आकृतियों को प्रदर्शित करने के लिए निम्न स्क्रिप्ट बनाई, और यह काम करता है, लेकिन जब मैं टैब को स्विच करता हूं या किसी अन्य कार्यपुस्तिका को खोलता हूं, तो यह त्रुटि तब देता है जब ताज़ा वस्तु नहीं मिली और निम्न पंक्ति को हाइलाइट करती है:
ActiveSheet.Shapes("TextBox 16").TextFrame.Characters.Font.ColorIndex = 1
मुझे लगा कि यह "ActiveSheet" संदर्भ के कारण था इसलिए मैंने इसे वास्तविक वर्कशीट नाम से बदल दिया और यह अभी भी काम करता है लेकिन फिर भी त्रुटि देता है।
Worksheets("Outbound").Shapes("TextBox 16").TextFrame.Characters.Font.ColorIndex = 1
मुझसे यहां क्या गलत हो रहा है? इसके अलावा, यदि आपको कोई कोड दिखाई देता है जिसे सरल बनाया जा सकता है, तो मेरा वीबीएस कौशल सबसे अच्छा नहीं है। कोड निम्नानुसार है:
Private Sub Worksheet_Calculate()
Dim Xrg As Range, Yrg As Range
Set Xrg = Range("K31")
Set Yrg = Range("K32")
For Each aCell In Xrg
If Not Intersect(Xrg, Range("K31")) Is Nothing Then
If Range("K31").Value = 0 Then
If Rows("25:25").EntireRow.Hidden = False Then
Rows("25:25").EntireRow.Hidden = True
End If
ElseIf Range("K31").Value <> 0 Then
If Rows("25:25").EntireRow.Hidden = True Then
Rows("25:25").EntireRow.Hidden = False
End If
End If
End If
Next
For Each aCell In Yrg
If Range("K32").Value < 55 Then
Worksheets("Outbound").Shapes("TextBox 16").TextFrame.Characters.Font.ColorIndex = 2
Worksheets("Outbound").Shapes("TextBox 43").TextFrame.Characters.Font.ColorIndex = 2
Worksheets("Outbound").Shapes("Util 1").Visible = True
Worksheets("Outbound").Shapes("Util 2").Visible = False
Worksheets("Outbound").Shapes("Util 3").Visible = False
Worksheets("Outbound").Shapes("Util 4").Visible = False
Worksheets("Outbound").Shapes("Util 5").Visible = False
End If
If Range("K32").Value >= 55 And Range("K32").Value < 65 Then
Worksheets("Outbound").Shapes("TextBox 16").TextFrame.Characters.Font.ColorIndex = 2
Worksheets("Outbound").Shapes("TextBox 43").TextFrame.Characters.Font.ColorIndex = 2
Worksheets("Outbound").Shapes("Util 1").Visible = False
Worksheets("Outbound").Shapes("Util 2").Visible = True
Worksheets("Outbound").Shapes("Util 3").Visible = False
Worksheets("Outbound").Shapes("Util 4").Visible = False
Worksheets("Outbound").Shapes("Util 5").Visible = False
End If
If Range("K32").Value >= 65 And Range("K32").Value < 75 Then
Worksheets("Outbound").Shapes("TextBox 16").TextFrame.Characters.Font.ColorIndex = 1
Worksheets("Outbound").Shapes("TextBox 43").TextFrame.Characters.Font.ColorIndex = 1
Worksheets("Outbound").Shapes("Util 1").Visible = False
Worksheets("Outbound").Shapes("Util 2").Visible = False
Worksheets("Outbound").Shapes("Util 3").Visible = True
Worksheets("Outbound").Shapes("Util 4").Visible = False
Worksheets("Outbound").Shapes("Util 5").Visible = False
End If
If Range("K32").Value >= 75 And Range("K32").Value < 85 Then
Worksheets("Outbound").Shapes("TextBox 16").TextFrame.Characters.Font.ColorIndex = 2
Worksheets("Outbound").Shapes("TextBox 43").TextFrame.Characters.Font.ColorIndex = 2
Worksheets("Outbound").Shapes("Util 1").Visible = False
Worksheets("Outbound").Shapes("Util 2").Visible = False
Worksheets("Outbound").Shapes("Util 3").Visible = False
Worksheets("Outbound").Shapes("Util 4").Visible = True
Worksheets("Outbound").Shapes("Util 5").Visible = False
End If
If Range("K32").Value >= 85 Then
Worksheets("Outbound").Shapes("TextBox 16").TextFrame.Characters.Font.ColorIndex = 2
Worksheets("Outbound").Shapes("TextBox 43").TextFrame.Characters.Font.ColorIndex = 2
Worksheets("Outbound").Shapes("Util 1").Visible = False
Worksheets("Outbound").Shapes("Util 2").Visible = False
Worksheets("Outbound").Shapes("Util 3").Visible = False
Worksheets("Outbound").Shapes("Util 4").Visible = False
Worksheets("Outbound").Shapes("Util 5").Visible = True
End If
Next
End Sub
SELECT CASE
पर Range("K32").Value
सभी के बजाय IF
बयान।