การตรวจสอบ Microsoft Excel ขึ้นอยู่กับเซลล์ที่อยู่ติดกัน


2

ฉันมีสองคอลัมน์ติดกันชื่อ Country และ Rating. Country คอลัมน์มีรายการดร็อปดาวน์เพื่อเลือกประเทศที่จะส่งดีวีดีไป มันกำลังใช้ list การตรวจสอบเพื่อสร้างแบบเลื่อนลง:

=$AN$31:$AN$53   # [US, CA, JP, etc.]

สิ่งที่ฉันต้องทำคือแสดงรายการการตรวจสอบความถูกต้องสำหรับ Rating ขึ้นอยู่กับค่าของ Country คอลัมน์. ตัวอย่างเช่น,

if Country=US, Rating dropdown = [G, PG, PG-13, R]
if Country=CA, Rating dropdown = [G, PG, 14A, 18A, R]

ฉันจะทำสิ่งนี้ใน excel ได้อย่างไร


นี้เป็นงานสำหรับ vlookup หรือไม่ office.microsoft.com/en-us/excel-help/vlookup-HP005209335.aspx
Nick Josevski

1
คุณกำลังมองหา การตรวจสอบเรียงซ้อน ?
JMax

คำตอบ:


0

ถูก ดังนั้นฉันจึงทำสิ่งนี้ผ่าน VBA สมมติว่าการตรวจสอบเบื้องต้นของคุณอยู่ใน D2 วางสิ่งนี้ในรหัสของ sheet1 (คลิกขวา - ดูรหัส)

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Address(True, True) = "$D$2" Then
        Select Case Target
            Case "A"
                Call Macro1
            Case "B"
                Call Macro2
            Case "C"
                Call Macro3
            Case "D"
                Call Macro4
            Case "E"
                Call Macro5
            Case Else
                'Do nothing
        End Select
    End If

End Sub

เมื่อคุณมีรหัสนั้นในแผ่นงานให้สร้างโมดูลและใช้สิ่งนี้:

Sub Macro1()
Range("E2").Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=$A$9:$A$13"
        .IgnoreBlank = True
        .InCellDropdown = True
        .ShowInput = True
        .ShowError = True
       End With
End Sub


Sub Macro2()
Range("E2").Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=$B$9:$B$13"
        .IgnoreBlank = True
        .InCellDropdown = True
        .ShowInput = True
        .ShowError = True
    End With
End Sub


Sub Macro3()
Range("E2").Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=$C$9:$C$13"
        .IgnoreBlank = True
        .InCellDropdown = True
        .ShowInput = True
        .ShowError = True
    End With
End Sub



Sub Macro4()
Range("E2").Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=$D$9:$D$13"
        .IgnoreBlank = True
        .InCellDropdown = True
        .ShowInput = True
        .ShowError = True
    End With
End Sub


Sub Macro5()
Range("E2").Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=$E$9:$E$13"
        .IgnoreBlank = True
        .InCellDropdown = True
        .ShowInput = True
        .ShowError = True
    End With
End Sub

สิ่งที่คุณต้องการตอนนี้คือการเปลี่ยนรายการพิกัดและทุกอย่างจะทำงานได้อย่างสมบูรณ์แบบ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.