2011-02-09 33 views
0

我有MyRange = A1:C3拷贝的细胞的范围内,以一列

在范围的电流值如下:

A1 = A,B1 = d,C1 = F A2 = b的,B2 = e,C2 =“” A3 = c,B3 =“”,C3 =“”

范围内的空白单元格可能会有所不同。

我如何从MyRange中复制(使用vba)非空值并将它们粘贴在一起让我们来看AA列?

例如: AA1 =一个 AA2 = B AA3 = C AA4 = d AA5 = E AA6 = F

再次感谢球员:-) 保罗

回答

0

迭代通过所有的细胞在MyRange中,如果单元格不是“”将值复制到下一个目标单元格

Sub test() 
    Dim MyRange as Range 
    Dim TargetCell as Range 
    Dim rw as Range 
    Dime cl as Range 

    Set MyRange = ActiveWorkbook.Names("MyRange").RefersToRange 
    Set TargetCell = Range("AA1") 
    For each rw in MyRange.Columns 
     For each cl in rw.Cells 
      If cl.value <> "" then 
       TargetCell = cl.value 
       Set TargetCell = TargetCell.Offset(1,0) 
      End If 
     Next 
    Next 

End Sub 
+0

嗨,克里斯,你可以把你的答案的完整编码...我不能让它工作。这就是我所做的。 `code` 公用Sub测试() 设置targetcell =范围( “AA1”) 对于每个RW在范围( “MyRange”)列 对于每个CL在rw.Cells 如果cl.Value <> “” 然后 targetcell = cl.Value 集targetcell = targetcell.Offset(1,0) 结束如果 接着 接着 结束子 `code` 和我得到“运行 - 时间错误“424:所需的对象” 即使我添加 `code` 昏暗RW作为字符串 昏暗的CL来作为字符串 `code` 我得到了同样的错误...... 谢谢 保罗 – paul 2011-02-10 13:47:22