通过VBA删除Excel表对象标头

时间:2015-11-18 02:31:46

标签: excel-vba odbc vba excel

我现在正在处理一些VBA代码,并一直陷入其中。 如果有人在这里帮忙,我真的很感激。

实际上,我现在通过Excel ODBC应用SQL查询从AS400中提取数据。 但是,我想在没有标题的情况下提取数据。

因此,我正在应用以下VBA代码来删除表头

$scope.data = {
    series: ['Sales', 'Income', 'Expense'],
    data : [{
        x : "Jack",
        y: [100,210, 384],
        tooltip:"this is tooltip"
    },
    {
        x : "John",
        y: [300, 289, 456]
    },
    {
        x : "Stacy",
        y: [351, 170, 255]
    },
    {
        x : "Luke",
        y: [54, 341, 879]
    }]     
}

但是,由于表标题值仍然存在且提取的值向下移动了一行,因此效果不佳。

是否有人可能建议通过VBA代码删除表头的方法 或在数据提取期间排除标题行。

非常感谢

1 个答案:

答案 0 :(得分:1)

HeaderRowRangeListObject的组成部分,因此无法删除。因此,如果需要删除标头数据,则必须首先使用ListObject的ListObject方法将Unlist转换为标准excel范围。将此代码添加到您的过程中:

代码实际上是删除整个标题行... (选择您需要的选项)

Dim rHdr As Range

    Set rHdr = ActiveSheet.ListObjects("CURRENT_ACCOUNT_QUERY_0001").HeaderRowRange
    Lob.Unlist
    'Selec the option required
    rHdr.EntireRow.Delete      'Use this line if you want to delete the entire row
    'rHdr.Delete Shift:=xlUp    'Use this line if you want to delete only the header cells