Excel 基于参考单元的sht估计
这可能是谁知道的人谁很快,所以我会感谢任何帮助 我有以下代码:Excel 基于参考单元的sht估计,excel,vba,Excel,Vba,这可能是谁知道的人谁很快,所以我会感谢任何帮助 我有以下代码: Dim shtSource As Worksheet Dim shtDestination As Worksheet Dim nSourceRow As Long, nDestRow As Long Set shtSource = Sheets("Forecast Opex") Set shtDestination = Sheets("Opex Pers Sala Admi") nSourceRo
Dim shtSource As Worksheet
Dim shtDestination As Worksheet
Dim nSourceRow As Long, nDestRow As Long
Set shtSource = Sheets("Forecast Opex")
Set shtDestination = Sheets("Opex Pers Sala Admi")
nSourceRow = 46
For nDestRow = 2 To 97
shtDestination.Cells(nDestRow, 3) = shtSource.Cells(nSourceRow, 2).Value 'NewForecast
nSourceRow = nSourceRow + 1
Next nDestRow
。。。而且效果很好。。。问题是,我需要根据位于另一个单元格(例如H5)中的名称更改名为Opex Pers Sala Emmi的表。该单元格中的内容取决于指示要使用ad目的地的工作表的特定条件
多谢各位
根据评论更新
Sub Update_Click()
Dim shtSource As Worksheet
Dim shtDestination As Worksheet
Dim nSourceRow As Long, nDestRow As Long
Set shtSource = Sheets("Base")
Set shtDestination = Sheets(Sheets("Base").Range("L21"))
'...
End Sub
试试下面的代码
在for循环中,不需要显式增加计数器变量
你需要更改它的名称吗?或者它的名称?或者什么?我想做的是从一张工作表SHT中提取某些数据到目标工作表SHT目的地,该目的地根据特定条件不断变化。包含要用作目标的工作表名称的单元格从不更改,其值工作表名称在另一个进程中确定。。。我不确定这是否能澄清一点。。。请不要在评论中发布代码。您可以编辑您的原始帖子,我这次已经为您完成了。您需要将SheetsSheetsBase.RangeL21更改为SheetsSheetsBase.RangeL21。Value@chrisneilsen ... 你明白了!!非常感谢。你凭什么认为H5在活动表上?而且你已经打破了行动循环谢谢你Santosh。。。还是不行。。。或者有什么不对劲。我得到运行时错误13。。。上的类型不匹配:Set-shtDestination=SheetsRangeL21@chrisneilsen断断续续!很好的术语。这不是更有意义吗?@igornachov最好指定你的射程H5在哪里,否则它会指向活动表。请找到我更新的答案,并确保范围中的值是有效的工作表名称。@Santosh去掉nSourceRow的增量,因为增量nDestRow更改了循环的结果。无论如何,for循环不是OP的重点,我建议你从答案中去掉这一部分。
Sub test()
Dim shtSource As Worksheet
Dim shtDestination As Worksheet
Dim nSourceRow As Long, nDestRow As Long
Set shtSource = Sheets("Sheet1")
Set shtDestination = Sheets(Sheets("<sheet name>").Range("H5"))
nSourceRow = 46
For nDestRow = 2 To 97
shtDestination.Cells(nDestRow, 3) = shtSource.Cells(nSourceRow, 2).Value
Next nDestRow
End Sub