vba - VBA代码将一组3个单元格从一列复制到一行
问题描述
这是我的第一天 VBA 编码,我正在尝试将多组 3 个单元格复制到工作表上的另一个位置并转置它们。请查看以下代码以供参考:
Range("A4:A6").Select
Selection.Copy
Range("D1").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Range("A8:A10").Select
Selection.Copy
Range("D2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Range("A12:A14").Select
Selection.Copy
Range("D3").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Range("A16:A18").Select
Selection.Copy
Range("D4").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Range("A20:A22").Select
Selection.Copy
Range("D5").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
所以我想为接下来的 200 个单元运行这段代码。有什么建议么?
解决方案
你不需要Select
,甚至不需要Copy / Paste
。这会更快:
Dim l As Long
For l = 1 To 200
With Sheet1
.Cells(l, "D").Resize(1, 3) = Application.Transpose(.Cells(l * 4, "A").Resize(3, 1))
End With
Next l
推荐阅读
- mysql - 如何将字符串(在三个单独的列中)转换为时间戳(一列)MYSQL
- arrays - 在 x86 汇编中输入并显示向量
- c# - 集成 Mapinfo 和 .NET C#
- node.js - 使用 Node.js 和 Amazon S3 将文件直接传送到客户端
- css - Angular 5 动画进入 (void => state) 工作但离开 (state => void) 不工作
- apache-kafka - Kafka producer api vs Apache Storm 的 KafkaBolt
- javascript - 1 个长度项目上的 Javascript“无法读取未定义的属性‘标题’”
- tomcat - 使用 jakarta 连接器到 tomcat 在 iis 中截断的 html 文档
- haskell - 我在哪里定义任意实例?
- smali - 如何在 Smali 中显示系统消息?