ভিবিএ কোড কোনও সেল মানের উপর ভিত্তি করে সারিগুলি আড়াল করতে বা লুকিয়ে রাখতে


2

আমার কোডটি এখানে, তবে এটি আসলে কিছু করছে না, আমি এতে কোনও ভুল দেখতে পাচ্ছি না:

Private Sub PG1(ByVal Target As Range)
    If .Range("E50").Value = "Passed" Then
        Rows("51").EntireRow.Hidden = True
    End If
    ElseIf Range("E50").Value = "Failed" Then
        Rows("51").EntireRow.Hidden = True
    End If
End Sub

আমার উদ্দেশ্য হ'ল যখন আগের সারিতে থাকা নির্দিষ্ট ঘরটি ড্রপডাউন থেকে "পাস" করা হয়েছে, তখন নীচের সারিটি উপস্থিত হবে, যদি এটি একটি 'ব্যর্থ' হয় তবে তার পরিবর্তে এটি লুকিয়ে রাখা হবে।

উত্তর:


8

দেখে মনে হচ্ছে আপনার কোডটিতে কিছু টাইপস রয়েছে। আপনি এই জাতীয় কিছু চান:

Sub PG1()

    If Range("E50").Value = "Passed" Then
        Rows("51:51").EntireRow.Hidden = True
    ElseIf Range("E50").Value = "Failed" Then
        Rows("51:51").EntireRow.Hidden = False
    End If

End Sub

আপনি শীটটি পরিবর্তন করার সাথে সাথে সারিটি লুকিয়ে রাখতে / লুকিয়ে রাখার আপডেট রাখতে, এটি একটি Worksheet_Changeইভেন্টে রাখুন:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Range("E50").Value = "Passed" Then
        Rows("51:51").EntireRow.Hidden = True
    ElseIf Range("E50").Value = "Failed" Then
        Rows("51:51").EntireRow.Hidden = False

    End If
End Sub

1

কোন টাইপ ছিল না। "সারি (51)" বৈধ। তবে আপনার "পুরো" মোডিফায়ার দরকার নেই

rows(n).hidden=true    ; where n is an valid row number

একাধিক সারি আড়াল করতে

 range(rows(n1),rows(n2)).hidden=true ; will hide rows n1 though n2

-1
Private Sub PG1()
    Range("$E$51").EntireRow.Hidden = (Range("$E$50").Value = "Passed")
End Sub

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