আপনি কেন শর্তযুক্ত ফর্ম্যাট সেট করার চেষ্টা করছেন তা আমি বুঝতে পারি না। আপনি সরাসরি ফন্টের রঙে কাজ করতে পারেন। কালো = রঙ সূচক 1 এবং ধূসর = রঙ সূচক 16 সহ:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
If Target.Font.ColorIndex <> 1 Then
'not black? -> set to black
Target.EntireRow.Font.ColorIndex = 1
Else
'black? -> set to grey
Target.EntireRow.Font.ColorIndex = 16
End If
Cancel = True
End Sub
এই কোডটি কেবলমাত্র সেই নির্দিষ্ট কার্যপত্রকের ক্ষেত্রে প্রযোজ্য যেখানে আপনি ভিবিএ সম্পাদকের কোডটি প্রবেশ করেছেন।
কর্মবুকের প্রতিটি শীটে স্বয়ংক্রিয়ভাবে অ্যাকশনটি প্রয়োগ করার জন্য, আপনাকে প্রক্রিয়া ঘোষণায় ইভেন্টের রেফারেন্সটি পরিবর্তন করতে হবে Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
।
সংশোধিত কোডটির জন্য সম্পাদকের কোড ফলকে প্রবেশ করতে হবে ThisWorkbook
। (কোডের বডিটি সংশোধন করার প্রয়োজন নেই))
আপনি যদি ক্রিয়াটি - এবং এর ফলাফলগুলি নির্দিষ্ট কলাম বা সারিগুলিতে সীমাবদ্ধ করতে চান তবে কেবলমাত্র পদ্ধতির মধ্যে একটি সামান্য পরিবর্তন প্রয়োজন:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
' only double-clicks in columns B and C will trigger action
If Not Intersect(Target, Sh.Range("B:C")) Is Nothing Then
If Target.Font.ColorIndex <> 1 Then
' only fonts in columns B and C will be modified
Sh.Range("B:C").Font.ColorIndex = 1
Else
Sh.Range("B:C").Font.ColorIndex = 16
End If
Cancel = True
End If
End Sub