Vba:如何设置另一个工作表中单元格的值


您可以在 VBA 中使用以下方法来设置另一个工作表中的单元格值:

方法1:在另一个工作表中设置单元格值

 Sub SetCellAnotherSheet()
    
    Sun wks1 As Worksheet, wks2 As Worksheet
    
    'specify sheets to use
    Set wks1 = Sheets(" Sheet1 ")
    Set wks2 = Sheets(" Sheet2 ")
    
    'set cell value in Sheet2 equal to cell value in Sheet1
    wks2.Range(" A2 ").Value = wks1.Range(" A2 ").Value
    
End Sub

此特定宏会将Sheet2中单元格A2的值设置为等于Sheet1中单元格A2的值。

方法2:在另一个工作表中设置多个单元格值

 Sub SetCellAnotherSheet()
    
    Sun wks1 As Worksheet, wks2 As Worksheet
    
    'specify sheets to use
    Set wks1 = Sheets(" Sheet1 ")
    Set wks2 = Sheets(" Sheet2 ")
    
    'set cell range in Sheet2 equal to cell range in Sheet1
    wks2.Range(" A2:A11 ").Value = wks1.Range(" A2:A11 ").Value
    
End Sub

此特定宏会将Sheet2A2:A11区域中每个单元格的值设置为Sheet1A2:A11区域中每个单元格的值。

以下示例展示了如何在实践中使用每种方法。

示例 1:在另一个工作表中设置单元格值

假设我们有以下名为Sheet1的工作表,其中包含不同篮球队的名称:

假设我们的Sheet2仅包含一个标题行:

我们可以创建以下宏来将Sheet2的单元格A2的值设置为等于Sheet1的单元格A2的值:

 Sub SetCellAnotherSheet()
    
    Sun wks1 As Worksheet, wks2 As Worksheet
    
    'specify sheets to use
    Set wks1 = Sheets(" Sheet1 ")
    Set wks2 = Sheets(" Sheet2 ")
    
    'set cell value in Sheet2 equal to cell value in Sheet1
    wks2.Range(" A2 ").Value = wks1.Range(" A2 ").Value
    
End Sub

当我们运行这个宏时,我们可以看到Sheet2的单元格A2的值现在设置为“Mavs”,它与Sheet1的单元格A2的值匹配:

示例2:在另一个工作表中设置多个单元格值

假设我们要将Sheet2A2:A11范围内的每个单元格的值设置为等于Sheet1A2:A11范围内的每个单元格的值。

我们可以创建以下宏来执行此操作:

 Sub SetCellAnotherSheet()
    
    Sun wks1 As Worksheet, wks2 As Worksheet
    
    'specify sheets to use
    Set wks1 = Sheets(" Sheet1 ")
    Set wks2 = Sheets(" Sheet2 ")
    
    'set cell range in Sheet2 equal to cell range in Sheet1
    wks2.Range(" A2:A11 ").Value = wks1.Range(" A2:A11 ").Value
    
End Sub

当我们运行这个宏时,我们可以看到Sheet2A2:A11范围内的值现在设置为与Sheet1A2:A11范围内的值相同:

其他资源

以下教程说明如何在 VBA 中执行其他常见任务:

VBA:如何查找最后使用的行
VBA:如何计算范围内的行数
VBA:如何计算使用的列数

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注