作者:绿色风
分类:
时间:2022-08-18
浏览:153
楼主 omnw |
Q:如何实现逐行递增三角形数据区域的复制? A:将下图中逐行增加两列的三角形(蓝色)区域复制到另一个工作表中,可以使用以下两种方法。
一是VBA法:
- Sub 复制数据()
- Dim i As Long, j As Long, rng As Range
- With Worksheets("Sheet2")
- For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row '遍历表中所有的行
- If i = 1 Then
- Range("A1").Copy .Range("A1") '复制第一行数据
- Else
- Range(Cells(i, 1), Cells(i, (i - 1) * 2 + 1)).Copy .Cells(.Rows.Count, "A").End(xlUp).Offset(1, 0)
- '从第二行以每行增加两列的规则复制数据。
- End If
- Next i
- End With
- End Sub
原理是:逐行遍历待复制工作表中的数据,然后按照第行增加两列数据的规则,将待复制工作表中当前行的数据区域复制到目标工作表中。 二是公式法: 在被复制工作表的A1单元格中输入如下公式,然后向右向下方复制此公式,即可实现需要的效果。
- =IF(COLUMN()<=(ROW()-1)*2+1,OFFSET(Sheet1!$A$1,ROW()-1,COLUMN()-1),"")
此公式的原理是:判断目标工作表中当前单元格是否符合复制规则的条件(每行增加两列),来引用被复制工作表中的单元格数据。 如何选中一个三角区域中的数据,把它复制到别的地方?.zip |
2楼 纵鹤擒龙水中月 |
学习了 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一