尝试选择范围时出现语法错误

时间:2015-09-04 17:24:35

标签: excel excel-vba syntax-error vba

每当我跑到这一行时,下面的代码都会给我语法错误:$scope.rowSelected() = function(){ $http.get(...).then(function(result){ $scope.heatMapData = result.data; $scope.updateHeatMap(); }); } $scope.updateHeatMap = function(){ var svg = d3.select("body").transition(); var heatMap = svg.selectAll(".hour") .duration(250) .attr("x", function(d) { return (d.hour - 1) * gridSize; }) .attr("y", function(d) { return (d.day - 1) * gridSize; }) .attr("rx", 4) .attr("ry", 4) .attr("class", "hour bordered") .attr("width", gridSize) .attr("height", gridSize) .style("fill", colors[0]); heatMap.transition().duration(1000) .style("fill", function(d) { return colorScale(d.value); }); }

Range(“SheetList[Worksheet Index]”).Select

我已经创建了Private Sub Worksheet_Activate() Dim sheet As Object Dim SheetName As String On Error GoTo Error With Sheets("Index").ListObjects("SheetList") If Not .DataBodyRange Is Nothing Then .DataBodyRange.Delete End If End With Range("SheetList[Worksheet Index]").Select '<--------- syntax error For Each sheet In Sheets SheetName = sheet.Name ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", _ SubAddress:=SheetName & "!A1", _ TextToDisplay:=SheetName ActiveCell.Offset(1, 0).Select Next sheet Exit Sub Error: MsgBox "Unable to create index" End Sub 表和SheetList表。

任何人都可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

范围预期范围(列号行号)
EX:范围(“A1”)

范围(列字母行号:列字母行号)
EX:范围(“A1:B22”)

还有一些其他方法可以使用Range。看这里。 https://msdn.microsoft.com/en-us/library/office/ff838238.aspx

什么是SheetList [工作表索引]以及我们如何选择它。我不确定选择它存在的范围会做到这一点。你为什么要选择那个对象呢?

答案 1 :(得分:0)

您正在尝试选择刚刚删除的内容。 Range("SheetList[Worksheet Index]")是指Worksheet Index结构化表格的.DataBodyRangeSheetList标题下的列。您使用.DataBodyRange.Delete将其与之前几行中的所有其他数据一起删除。您的意思是简单地.ClearContents吗?

如果您要开始添加新记录,则Range("SheetList").DataBodyRange中至少需要一行。

With Sheets("Index").ListObjects("SheetList")
    If Not .DataBodyRange Is Nothing Then
        .DataBodyRange.Delete
    End If
    .ListRows.Add  'leave at least one row to select below
End With

Range("SheetList[Worksheet Index]").Select      '<~~now it selects the empty row we created

如果您将.ListRows.Add移至For Each...Next Statement作为每个新条目的前言,则无需依赖.SelectActiveCell来实现目标。