如何使用行/列值将值写入表中的单元格?

时间:2019-01-18 14:26:23

标签: excel vba

我现在只在VBA工作了几个小时:)。 我正在创建一个健身追踪器。我有一个已经填充的表,但是我想按一下按钮来更新几个单元格。我在这里找到的大多数帖子都涉及添加新的行/列,但这不是我想要的。

我尝试过类似...的事情

tbl = Sheets("Workouts").ListObjects("tbl_Workouts")

tbl.Offset(TodaysRow,FirstExerciseCol + 5*ColCount).Value = NewValue

所有人都知道,不允许使用此语法。

基本上,如果我想向该表的x行,y列写入一个值,该怎么做?

1 个答案:

答案 0 :(得分:0)

ListObject没有Offset属性; Range可以。


也许使用DataBodyRange,即

  

返回一个Range对象,该对象表示表中不包括标题行的值的范围。

一个示例,该示例写入表的x行和y列(不使用Offset):

Sub TestMyTable()
    Dim tbl As ListObject
    Set tbl = Sheets("Workouts").ListObjects("tbl_Workouts")

    Dim x As Long, y As Long
    x = 1
    y = 1

    tbl.DataBodyRange(x, y).Value = 1 ' or tbl.DataBodyRange.Cells(x, y)
End Sub