मैं एक निश्चित शीर्षलेख शीर्षक के बाद एक तालिका में एक नया कॉलम जोड़ना चाहता हूं जिसमें समय-समय पर स्थिति अलग-अलग होगी।

मैं इस कोड का उपयोग स्थिति 4 पर कॉलम जोड़ने के लिए कर सकता हूं लेकिन स्थिति शीर्षलेख शीर्षक पर निर्भर करती है जो बदल सकती है।

इसके बारे में कैसे जाना है इस पर कोई सुराग?

Worksheets(1).ListObjects("Table1").ListColumns.Add Position:=4

उदाहरण: शीर्षलेख शीर्षक स्थिति 5 में है, कोड स्थिति 6 में एक नया कॉलम जोड़ देगा। उदाहरण: शीर्षलेख शीर्षक अब स्थिति 7 में है, कोड स्थिति 8 में एक नया कॉलम जोड़ देगा।

vba
0
Andy Fazulus 30 जून 2019, 23:04

2 जवाब

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

हम इसे हल करने के लिए ListObject की HeaderRowRange संपत्ति का उपयोग कर सकते हैं:

Dim HeaderTitle as String, i as Integer, MyTable as ListObject

HeaderTitle = "YourTitleGoesHere" 'change to match your title
Set MyTable = Worksheets(1).ListObjects("Table1")
With MyTable.HeaderRowRange
    For i = 1 to .Count
        If .Cells(i).Value = HeaderTitle Then
            MyTable.ListColumns.Add Position:= i + 1
            Exit For
        End If
    Next i
End With
0
AAA 1 जुलाई 2019, 00:20

यह काम करना चाहिए, बस "YourHeader" को अपने हेडर नाम में बदलें

Sub AddColAfterHeader()
    [Table1[YourHeader]].Next.EntireColumn.Insert
End Sub

..या यह अगर परिवेश मायने रखता है

Sub AddColAfterHeader2()
    ActiveSheet.ListObjects("Table1").ListColumns.Add _
    ([Table1[YourHeader]].Next.Column - [Table1].Column + 1)
End Sub
0
AsUsual 1 जुलाई 2019, 11:52