我试图在VBA中设置一个表,但是,我只想将范围设置为表中的特定列。我似乎找不到解决方法。我搜索的所有内容似乎都返回了excel表引用,并且似乎不是VBA的正确语法。这就是我所拥有的,但是出现运行时错误“ 9”:下标超出范围。
Set Contact = Worksheets("Tables").ListObjects("Table1[[Column2]:[Column8]]")
编辑:我认为我的问题不清楚。我正在尝试引用表中的某个范围,因为我正在使用vlookup来查找所需的数据。我正在引用第二列中的信息,并在第八列中获取该信息以将其设置为变量。因此,我试图将listobject设置为更大的排序表中的一个表。
答案 0 :(得分:2)
您使用<script>
var completeCells = document.getElementsByClassName("complete");
for (item in completeCells){
var Options = completeCells[item].previousElementSibling;
var Polarization = Options.previousElementSibling;
var HardwareStyle = Polarization.previousElementSibling;
var ContactPlating = HardwareStyle.previousElementSibling;
var ContactType = ContactPlating.previousElementSibling;
var Size = ContactType.previousElementSibling;
var BodyMaterial = Size.previousElementSibling;
var BodyStyle = BodyMaterial.previousElementSibling;
var Rows = BodyStyle.previousElementSibling;
var SeriesDesignator = Rows.previousElementSibling;
completeCells[item].innerHTML = SeriesDesignator.innerHTML + "-" + Rows.innerHTML + "-" + BodyStyle.innerHTML + "-" + BodyMaterial.innerHTML + "-" + Size.innerHTML + "-" + ContactType.innerHTML + "-" + HardwareStyle.innerHTML + "-" + Polarization.innerHTML + "-" + Options.innerHTML;
}
</script>
来引用整个表格。然后ListObjects("TableName")
引用表中的特定列,其中“ ColumnHeading”是表中的实际标题名称(或ListColumns("ColumnHeading")
,其中ListColumns(#)
是列的索引号)。然后#
引用列数据的范围。
最好使用DataBodyRange
查找行号,再使用VLookup
获取结果,而不是Match
。
类似这样的东西
Range.Cells