将A1到Q14在保持行高列宽的情况下向下复制十次
时间: 2024-04-12 14:28:04 浏览: 110
详解C#设置Excel数据自适应行高、列宽的2种情况
5星 · 资源好评率100%
很抱歉,我之前给出的答案有误。请使用以下VBA代码来实现您的需求:
```vba
Sub CopyData()
Dim sourceRange As Range
Dim destinationRange As Range
Dim i As Integer
' 设置源数据范围,假设数据在Sheet1的A1:Q14单元格中
Set sourceRange = Sheets("Sheet1").Range("A1:Q14")
' 设置目标数据范围的起始位置,假设从Sheet2的A1开始
Set destinationRange = Sheets("Sheet2").Range("A1")
' 循环复制数据十次
For i = 1 To 10
sourceRange.Copy destinationRange
' 将目标数据范围向下扩展源数据范围的行数
Set destinationRange = destinationRange.Resize(sourceRange.Rows.Count * (i + 1), sourceRange.Columns.Count)
' 保持行高列宽
destinationRange.Rows.AutoFit
destinationRange.Columns.AutoFit
' 将目标数据范围的起始位置移动到下一个复制位置
Set destinationRange = destinationRange.Offset(sourceRange.Rows.Count, 0)
Next i
End Sub
```
此代码使用循环复制源数据范围到目标数据范围,并在每次复制后将目标数据范围向下扩展以容纳更多复制的数据。在每次复制后,使用 `Rows.AutoFit` 和 `Columns.AutoFit` 来保持行高和列宽。请确保根据实际情况修改源数据范围和目标数据范围的位置。
阅读全文