[英]vba excel copy to another sheet
我想从以下两个问题获得帮助:
第一,
我有Sheet1循环并从网站获取不同的单元格值
B68,B69,B67,A61,D85和B73,我想编写VBA以按顺序将这些值复制到Sheet2中
A1,B1,C1,D1,E1,F1
但是用我当前的代码,如果Sheet1中任何单元为空,它将移动复制的单元(up(End(xlUP),我需要创建每行数据的下一行,无论其值如何,甚至某些复制的单元都是空的...
第二,
添加条件,每次Sheet1中的D85为空时,它将复制单元格D86中的值,而忽略D86的值...
DoEvents
'Copy to Another sheet
With Worksheets("Sheet2")
.Range("A" & Rows.Count).End(xlUp).Offset(1, 0) = ws.Range("B68")
.Range("B" & Rows.Count).End(xlUp).Offset(1, 0) = ws.Range("B69")
.Range("C" & Rows.Count).End(xlUp).Offset(1, 0) = ws.Range("B67")
.Range("D" & Rows.Count).End(xlUp).Offset(1, 0) = ws.Range("A61")
.Range("E" & Rows.Count).End(xlUp).Offset(1, 0) = ws.Range("D85")
.Range("F" & Rows.Count).End(xlUp).Offset(1, 0) = ws.Range("B73")
End With
即使某些单元格为空,代码UsedRange
在Sheet2
中UsedRange
的最后一行。 然后将数据从ws
sheet复制到Sheet2
。
Dim des_ws As Excel.Worksheet
Set des_ws = ActiveWorkbook.Worksheets("Sheet2")
LastRow = des_ws.UsedRange.Rows(des_ws.UsedRange.Rows.count).row + 1
With des_ws
.Range("A" & LastRow) = ws.Range("B68")
.Range("B" & LastRow) = ws.Range("B69")
.Range("C" & LastRow) = ws.Range("B67")
.Range("D" & LastRow) = ws.Range("A61")
If ws.Range("D85") = "" Then
.Range("E" & LastRow) = ws.Range("D86")
Else
.Range("E" & LastRow) = ws.Range("D85")
End If
.Range("F" & LastRow) = ws.Range("B73")
End With
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.