使用VBA从Excel中的其他工作表获取值

Apo*_*954 29 excel vba worksheet-function

您好我是excel的新手,我有一些问题从其他表中获取值.

我在excel(sheet2)中有一些值,例如:

    A  B  C  D
    -  -  -  -  
1 | 2  5  9  12
2 | 5  8  4  5
3 | 3  1  2  6
Run Code Online (Sandbox Code Playgroud)

我正在使用sheet2中的这个值,我想在sheet1中得到结果.当我在sheet2中使用我的代码时,我得到了正确的答案,但是当我尝试在不同的表单中使用它时,我得到的值的结果对应于当前的表格单元格,而不是对应于sheet2.

  • 我想得到第4行中每列的总和.我设法做到这一点,但我只能在sheet2中使用它.

我使用"With Application.WorksheetFunction",我想改变它以获取sheet2的值.

你可以帮我解决这个问题,以及如何将sheet2设置为激活表.

我希望我的问题很明确.

谢谢

Doc*_*own 45

尝试

 ThisWorkbook.Sheets("name of sheet 2").Range("A1")
Run Code Online (Sandbox Code Playgroud)

访问工作表2中的范围,与您的代码位置或当前活动的工作表无关.要使工作表2成为活动工作表,请尝试

 ThisWorkbook.Sheets("name of sheet 2").Activate
Run Code Online (Sandbox Code Playgroud)

如果您只需要不同工作表中的行的总和,则根本不需要使用VBA.在表1中输入如下公式:

=SUM([Name-Of-Sheet2]!A1:D1)
Run Code Online (Sandbox Code Playgroud)


jpi*_*912 17

那将是(对于你非常具体的例子)

ActiveWorkbook.worksheets("Sheet2").cells(aRow,aCol).Value=someval
Run Code Online (Sandbox Code Playgroud)

要么

someVal=ActiveWorkbook.worksheets("Sheet2").cells(aRow,aCol).Value
Run Code Online (Sandbox Code Playgroud)

所以获得一个F1点击并阅读有关Worksheets集合的内容,其中包含Worksheet对象,而这些对象又有一个Cells集合,持有Cell对象......