Excel 将值从一个工作表填充到另一个工作表

Excel 将值从一个工作表填充到另一个工作表,excel,vba,Excel,Vba,我希望将我的frontsheet值填充到另一个工作表中 我试过这样的方法: Sub THPlow() If Range("D39").Value < 24 Then Sheets("BoM").Range("E7").Value = D39 End If End Sub Sub-THPlow() 如果范围(“D39”)。值小于24,则 板材(“BoM”)。范围(“E7”)。值=D39 如果结束 端接头 但宏不返回任何内容: 没有注释或调试,因此代码似乎没有问题

我希望将我的frontsheet值填充到另一个工作表中

我试过这样的方法:

Sub THPlow()
    If Range("D39").Value < 24 Then
    Sheets("BoM").Range("E7").Value = D39
    End If
End Sub
Sub-THPlow()
如果范围(“D39”)。值小于24,则
板材(“BoM”)。范围(“E7”)。值=D39
如果结束
端接头
但宏不返回任何内容:


没有注释或调试,因此代码似乎没有问题,但肯定有错误。

明确范围引用的完美示例:

Sub THPlow()

Dim ws1 as worksheet: Set ws1 = ThisWorkbook.Worksheets("Sheet1")
Dim ws2 as worksheet: Set ws2 = ThisWorkbook.Worksheets("Sheet2")

If ws1.Range("D39").Value < 24 Then 
    ws2.Range("E7").Value = ws1.Range("D39").Value
End If

End Sub

显然,根据需要更改工作表名称。您还可以包含一个变量来保存
工作簿
对象,因为它可能并不总是
此工作簿

明确范围引用的完美示例:

Sub THPlow()

Dim ws1 as worksheet: Set ws1 = ThisWorkbook.Worksheets("Sheet1")
Dim ws2 as worksheet: Set ws2 = ThisWorkbook.Worksheets("Sheet2")

If ws1.Range("D39").Value < 24 Then 
    ws2.Range("E7").Value = ws1.Range("D39").Value
End If

End Sub
显然,根据需要更改工作表名称。您还可以包含一个变量来保存
工作簿
对象,因为它可能并不总是
此工作簿