我需要将相同的数据写入我正在编写的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
我可以做些什么来同时写入第10行第1列和第20行第1列?
答案 0 :(得分:7)
您可以定义不连续的范围并更改范围的属性。例如:
Dim curSheet As Worksheet
Dim rngSpecial As Range
Set curSheet = Sheets("Company Scorecard")
Set rngSpecial = curSheet.Range("A1,A3")
rngSpecial.Value = "Whatever"
将在A1和A3中写下“Whatever”。
答案 1 :(得分:1)
你能不能传递一个行数而不是一个rowNumber,然后在你的函数中循环遍历数组中的每个元素(我不记得了,我还没有在VBA中编程一段时间)?然后,您可以将其打印到任意数量的行。