এক্সেল ভিবিএ খোলা এবং ট্যাব পরিবর্তন যখন সব ওয়ার্কশীট উপর recalculate


0

আমার প্রতিটি মাসের জন্য 1২ টি 13 টি ওয়ার্কশীট রয়েছে। মাসের নামের সাথে 1২ টি শীট প্রতিটিতে একটি কক্ষ রয়েছে।

বর্তমান মাসটি ঘরটির সাথে মেলে এবং ট্যাব রঙ অনুযায়ী পরিবর্তিত হলে পরীক্ষা করার জন্য আমি একটি VBA স্ক্রিপ্ট পেয়েছি, তবে এটিতে পত্রকে আপডেট করার জন্য একটি গণনা প্রয়োজন।

Private Sub Worksheet_Change(ByVal Target As Range)
If Format(Date, "MMMM") = Range("E3").Value Then
    Me.Tab.ColorIndex = 10
Else
    Me.Tab.ColorIndex = xlColorIndexNone
End If
End Sub

যদি আমি গত মাসের শীট আপডেট করা বন্ধ করি এবং পরবর্তী শীটে চলে যাই, তবে উভয় ট্যাবগুলি হাইলাইট করা হবে কারণ পূর্ববর্তী পত্রটি আপডেট করা হয়নি। আমি শুধু বর্তমান মাস ওয়ার্কশীট হাইলাইট করতে চান।

ওয়ার্কবুক খোলা এবং ট্যাব পরিবর্তন সব শীট পুনরায় হিসাব করার একটি উপায় আছে?

উত্তর:


0

মধ্যে ThisWorkbook মডিউল ঠিক করা

Option Explicit

Private Sub Workbook_Open()
    Dim mySheet As Worksheet
    For Each mySheet In ThisWorkbook.Sheets
        If mySheet.Cells(3, 5).Value = Format(Date, "MMMM") Then
            mySheet.Tab.ColorIndex = 10
        Else: mySheet.Tab.ColorIndex = xlColorIndexNone
        End If
    Next
End Sub

এখন এটি কিছু গণনা করার প্রয়োজন নেই এবং এটি খোলা প্রতিটি সময় শুধুমাত্র শিট চেক করবে।


0

হ্যাঁ। ভিবি সম্পাদক এ, TheWorkbook অবজেক্টে যান। কোড উইন্ডো শীর্ষে, আপনি একটি ড্রপডাউন বক্স দেখতে পাবেন যা "(সাধারণ)" বা "ওয়ার্কবুক" বলে। যদি এটি "(সাধারণ)" বলে, ড্রপডাউন খুলুন এবং পরিবর্তে "ওয়ার্কবুক" নির্বাচন করুন। এটি অবিলম্বে আপনার জন্য একটি নতুন সাব সন্নিবেশ করা হতে পারে; যদি এটি না, শুধু যে মুছে দিন।

এখন, উপরের ডানদিকে, আপনার আরেকটি ড্রপডাউন রয়েছে যা সম্ভবত "খুলুন" বলে। "খুলুন" চয়ন করার জন্য ড্রপডাউনটি ব্যবহার করুন, তারপরে আবার "পত্রক সক্রিয় করুন" চয়ন করুন। এই আপনার কোড উইন্ডোতে দুটি নতুন subroutines সন্নিবেশ করা উচিত - Workbook_Open এবং Sheet_Activate। উল্লেখ্য যে আপনি ড্রপডাউন ব্যবহার করে এইগুলি তৈরি করতে চান কেবলমাত্র নামগুলি টাইপ করে না - যদি আপনি কেবল তাদের টাইপ করেন তবে তারা সঠিকভাবে কাজ করতে পারে না।

আপনি এখন এই সাবস্ক্রাইব করতে চান এমন কোনও কোড রাখতে পারেন এবং কোডটি কার্যকর হওয়ার সময় কোডটি কার্যকর হবে (যেমন ওয়ার্কবুকটি খুলছে বা কোনও ওয়ার্কশীট নির্বাচন করা)। আপনি অনুরোধ করা সঠিক গঠন এই মত কিছু দেখতে হবে:

Private Sub Workbook_Open()
    Application.Calculate
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Application.Calculate
End Sub

আমি বলছি না যে এটা করার সবচেয়ে কার্যকর উপায়, তবে আপনার প্রশ্নের উত্তর দিতে হবে।


তারপর সবচেয়ে কার্যকর উপায় কি? আমি শুধু এটি লিঙ্ক করতে চান যদি কিছু পড়া মনে রাখবেন না।
gavsiu

এছাড়াও এটা আমার সমস্যা সমাধান বলে মনে হচ্ছে না। রঙ ট্যাব পরিবর্তনের জন্য আমাকে এখনো শীটের একটি ঘর সম্পাদনা করতে হবে।
gavsiu
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.