同时写入两个单元格excel vba

Irw*_*her 1 excel optimization vba

对于我正在编写的VBA应用程序,我需要将相同的数据写入两个不同的单元格区域.我当然可以循环两次并写入数据,但我希望能够一次性完成.

这是我正在做的一个例子(删除了很​​多复杂性).

Sub WriteData()
    WriteOutDivision "Division1",10 
    WriteOutDivision "Division1",20 
End Sub

Private Sub WriteOutDivision(ByVal divisionName, ByVal rowNumber)
    Dim curSheet As Worksheet

    Set curSheet = Sheets("Company Scorecard")    

    With curSheet.Cells(rowNumber, 1)
         .value = divisionName
         .Font.Bold = True
         .InsertIndent 1
    End With
End Sub
Run Code Online (Sandbox Code Playgroud)

有什么办法可以同时写入第10行第1列和第20行第1列吗?

Wil*_*elm 7

您可以定义一个非连续范围并更改范围的属性.例如:

Dim curSheet As Worksheet
Dim rngSpecial As Range

Set curSheet = Sheets("Company Scorecard")
Set rngSpecial = curSheet.Range("A1,A3")
rngSpecial.Value = "Whatever"
Run Code Online (Sandbox Code Playgroud)

将在A1和A3中写下"Whatever".