我正在尝试根据用户输入构建一个表格:区域数量、楼层数量和建筑物数量。它应该根据用户输入自动创建表格。
输出示例如下:
我想出了如何使用 vba 根据用户输入复制/粘贴 X 列(建筑物)的数量,并且我想出了如何使用 vba 中的填充来填充区域,但我无法自动添加楼层,并且我无法将所有内容放在表格中。我通常不会同时做这样的事情,但这是领导团队的要求。我的 VBA 技能(和想象力)已经碰壁了。
微软文档:
Option Explicit
Sub Demo()
Dim iBldg As Long, iFloor As Long, iArea As Long
Dim arrRes, iR As Long, i As Long, j As Long
Dim rCell As Range
Const START_CELL = "C1"
iBldg = Range("B1")
iFloor = Range("B2")
iArea = Range("B3")
ReDim arrRes(iFloor * iArea + 1, 2)
arrRes(1, 0) = "Floor"
arrRes(1, 1) = "Area"
iR = 1
For i = 1 To iFloor
For j = 1 To iArea
iR = iR + 1
If j = 1 Then arrRes(iR, 0) = i
arrRes(iR, 1) = j
Next
Next
Set rCell = Range(START_CELL)
For i = 1 To iBldg
With rCell
.Resize(UBound(arrRes) + 1, 3).Value = arrRes
.Value = "Building " & i
.Resize(, 3).Merge
.MergeArea.EntireColumn.HorizontalAlignment = xlCenter
Set rCell = .Offset(, 1)
End With
Next
End Sub