基本上我需要做的是从不同的工作表中获取特定单元格的值。棘手的部分是它必须访问的工作表的名称显示在同一工作表的列中。
因此状态列必须从另一个表中获取数字。另一个工作表必须是同一行中“sheetname”列的名称。如果没有纸张,它应该保持空白。
我当前的代码就是这个。所有这一切都是创建/打开其他表格到目前为止。
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
这是一个荷兰语项目,所以忽略顶部btw的话:p
答案 0 :(得分:1)
我不确定我是否正确,但以下示例将使用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
答案 1 :(得分:1)
从Rory的评论看起来,如果你把这个公式放在单元格B1中,你只需要知道另一个工作表中的单元格(示例中为A1)。
=INDIRECT(A1 & "!A1")