根据同一行中的姓名获取其他工作表的总和

基本上我需要做的是从不同的工作表中的特定单元格获取值。 棘手的部分是它必须访问的工作表名称显示在同一工作表的一列中。

这是图像 所以状态栏必须从另一张表中获取数字。 而另一个表必须是同一行中“sheetname”列的名称。 如果没有表格,它应该保持空白。

目前的代码是这样的。 所有这些都是创build/打开另一个表。

Sub CreateNewSheet() sheet_name_to_create = Range("A" & (ActiveCell.Row)).Value ' Check if filename exists, if false create new else make it active For rep = 1 To (Worksheets.Count) If LCase(Sheets(rep).Name) = LCase(sheet_name_to_create) Then ActiveWorkbook.Sheets(sheet_name_to_create).Activate Exit Sub End If Next Sheets("TEMPLATE").Copy after:=Sheets(Sheets.Count) Sheets(ActiveSheet.Name).Name = sheet_name_to_create End Sub 

这是一个荷兰的项目,所以忽略了顶部顺便说一句:页

我不知道如果我得到你正确的,但下面的例子将使用列A数据作为工作表名称,并返回该目标工作表中的单元格A1值到列B相同的行。

 Sub findNOW() Dim lastRow As Long Dim WS As Worksheet Set WS = ActiveWorkbook.Sheets("Main1") lastRow = WS.Range("A" & Rows.Count).End(xlUp).Row For i = 2 To lastRow On Error Resume Next WS.Range("B" & i).Value = ThisWorkbook.Sheets(WS.Range("A" & i).Value).Range("A1").Value Next End Sub 

从Rory的评论看来,如果你把这个公式放到单元格B1中,你只需要知道另一个工作表中的单元格(例子中的A1)。

 =INDIRECT(A1 & "!A1")