0
我正在搜索一个空白单元格的列,如果我找到一个然后我想复制两个前面的单元格与空白单元格相邻并发布到新工作表。使用一个2dim数组而不是两个1dim数组在工作maco
blksArray是我正在搜索空白的列。
emailArray和nameArray是相邻列复制细胞如果空白blksArray
宏的作品被发现,但我希望我可以用一个单一的阵列代替两个数组emailArray和nameArray
谢谢
编辑:对不起,如果我是混淆 源工作表:
Name Emails XXX
Bill [email protected] abc
Tony [email protected]
Roger [email protected] aaa
Diane [email protected] bbb
Pam [email protected]
Barb [email protected]
Ziggy [email protected] ddd
钽rget表:
Name Emails XXX
Tony [email protected]
Pam [email protected]
Barb [email protected]
代码:
Sub MoveCellsIfEmpty()
Dim blankArray As Variant, textArray As Variant
Dim wsS As Worksheet
Dim wsT As Worksheet
Dim LR As Long
Dim i As Long
Set wsS = ThisWorkbook.Sheets("NodeFile")
Set wsT = ThisWorkbook.Sheets("Blanks")
With wsS
LR = .Range("A" & .Rows.Count).End(xlUp).Row
'\\ search column
blksArray = .Range("E2:E" & LR).Value
'\\ Cells to copy
emailArray = .Range("D2:D" & LR).Value
nameArray = .Range("C2:C" & LR).Value
For i = LBound(blksArray, 1) To UBound(blksArray, 1)
If IsEmpty(blksArray(i, 1)) Then
emailArray(i, 1) = emailArray(i, 1)
nameArray(i, 1) = nameArray(i, 1)
Else
emailArray(i, 1) = ""
nameArray(i, 1) = ""
End If
Next i
End With
'\\ Post back to target sheet
With wsT
.Range("A2:A" & LR).Value = nameArray
.Range("B2:B" & LR).Value = emailArray
End With
End Sub
你好Tbizzess谢谢你的回应,我'编辑'我的问题,使其更清楚(对此感到遗憾)。我使用的是数组,因为数据集很大,而且我重新使用了一个我已经拥有的宏,这似乎很好。 – xyz 2014-11-03 19:18:43
哇感谢代码和文本都同样有帮助 – xyz 2014-11-03 23:07:43