मैं अपने एक्सेल टेबल "लेन-देन" के तीसरे कॉलम में निम्न सूत्र सम्मिलित करना चाहता हूं। अगर मैं इसे मैन्युअल रूप से दर्ज करता हूं, तो यह काम करता है, लेकिन अगर मैं इसे सबरूटीन का उपयोग करके दर्ज करने का प्रयास करता हूं तो मुझे त्रुटि 1004 मिलती है। यह सुनिश्चित नहीं है कि इसे कैसे हल किया जाए। यहां एक कोड स्निपेट है:

    Sub test3()
    Dim ws As Worksheet
    Dim lo As ListObject
    Dim lCol As ListColumn

    Set ws = ThisWorkbook.Worksheets("Transactions")
    Set lo = ws.ListObjects(1)
    Set lColName = lo.ListColumns(3)

    lColName.DataBodyRange.Formula = "=IFERROR(INDEX(Staff[CREDENTIALS],MATCH([@[Staff, Last Name]],LastName,0)),"")"
    End Sub

मुझे वास्तव में केवल इतना करना है कि सूत्र को तालिका की पहली पंक्ति (पंक्ति 2) में तीसरे कॉलम "स्टाफ, क्रेडेंशियल्स" में रखना है। यह एक और एक्सेल टेबल "स्टाफ" से खींच रहा है।

0
CACinAZ 9 नवम्बर 2020, 05:56

1 उत्तर

सबसे बढ़िया उत्तर

मेरा मानना ​​​​है कि समस्या आपके सूत्र से आ रही है (मुझे पता है कि आपने उल्लेख किया है कि यह तब काम करता है जब आप इसे मैन्युअल रूप से दर्ज करते हैं, हालांकि जब मैं कोशिश करता हूं कि मुझे कोई त्रुटि मिल रही है), [@[Staff, Last Name]] को Staff[Last Name] में बदलने का प्रयास करें।

साथ ही, आपको IFERROR सूत्र में "" से बचना होगा, नीचे दिया गया कोड काम करना चाहिए:

Sub test3()
    Dim ws As Worksheet
    Dim lo As ListObject
    Dim lCol As ListColumn

    Set ws = ThisWorkbook.Worksheets("Transactions")
    Set lo = ws.ListObjects(1)
    Set lColName = lo.ListColumns(3)

    lColName.DataBodyRange.Formula = "=IFERROR(INDEX(Staff[CREDENTIALS],MATCH(Staff[Last Name],LastName,0)),"""")"
End Sub
0
adb 9 नवम्बर 2020, 03:21