如何解决VBA数组功能可复制列
我只是想寻求一些帮助,因为我对使用数组函数不是很熟悉。
基本上,我的源数据具有从列A到列H的数据范围。
此公式将列A复制到我的目的地。但是我还需要将数据从“源D”列复制到“目标”列中,然后从H列复制到“目标”列。
如何将其修改为需要的内容? 如何在“源”选项卡上过滤和删除空白行?
Dim Source As Worksheet,Destination As Worksheet
Set Source = ThisWorkbook.Worksheets("CAN Daily Hours Summary")
Set Destination = ThisWorkbook.Worksheets("Adjustment_Data")
Dim arr As Variant
arr = Source.Range("A1").CurrentRegion
Dim i As Long
For i = LBound(arr,1) + 1 To UBound(arr,1)
arr(i,1) = arr(i,1)
Next i
Destination.Range("A1").CurrentRegion.Offset(1).ClearContents
Dim rowcount As Long,colummcount As Long
rowcount = UBound(arr,1)
Destination.Range("A2").Resize(rowcount).Value = arr
谢谢您的帮助。
解决方法
传输数据(仅一个阵列)
代码
Option Explicit
Sub transferData()
Const FirstCell As String = "A1"
Const destOffs As Long = 1
Const FirstCol As Long = 2
Const Offs As Long = 2
With ThisWorkbook
Dim Source As Worksheet
Set Source = .Worksheets("CAN Daily Hours Summary")
Dim Destination As Worksheet
Set Destination = .Worksheets("Adjustment_Data")
End With
Dim arr As Variant
arr = Source.Range(FirstCell).CurrentRegion
Dim RowsCount As Long
RowsCount = UBound(arr,1)
Dim ColsCount As Long
ColsCount = UBound(arr,2)
Dim NumOfCols As Long
NumOfCols = ColsCount - Offs
Dim i As Long
Dim j As Long
For i = 1 To RowsCount
For j = FirstCol To NumOfCols
arr(i,j) = arr(i,j + Offs)
Next j
Next i
With Destination.Range(FirstCell).CurrentRegion.Offset(destOffs)
.ClearContents
.Resize(RowsCount,NumOfCols).Value = arr
End With
End Sub
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。