Range(“ D14”)粘贴了两次,分别粘贴到D14和D15中。

时间:2018-06-20 21:11:44

标签: excel vba excel-vba

由于某种原因,它应该被插入到两个单元格中,而它只能是一个。

它不仅将值粘贴到D14中,而且还将相同的值粘贴到D15中。

我在这里的最终目标是读取整个列并获取该列中的所有唯一值,减去标题,然后获得速度。因此它可能具有1 Gpbs或200 Mbps。如果它是1 Gig,我想剥离'gbps'并将1变成1000。数据基本上是一堆空行,带有字母数字速度值。在这种情况下,仅存在一个行值。因此下面的数据就是表格中的数据。

Dim Clb As Range
Dim lAnswer3 As Variant
With CreateObject("scripting.dictionary")
    For Each Clb In wbFrom.Sheets("Sheet0").Range("Z9", Range("Z" & Rows.Count).End(xlUp))

        Clb.Value = Replace(Clb.Value, " Mbps", "")
        Clb.Value = Replace(Clb.Value, " Gbps", "")

       If Clb.Value = 1 Then
            Clb = Clb * 1000
        End If


        If Not .exists(Clb.Value) Then
        .Add Clb.Value, Nothing
        End If
    Next Clb

 lAnswer3 = wbFrom.Sheets("Sheet0").Evaluate("SUMPRODUCT(--z9:z50000)")

 wbTo.Sheets("Sheet1").Range("D14").Resize(.Count).Value = lAnswer3  'D14 and D15 get populated

End With

数据:

NetSpeed
<blank row>
<blank row>
<blank row>
<blank row>
<blank row>
1 Gbps
<blank row>
<blank row>

1 个答案:

答案 0 :(得分:1)

对我而言,最终解决方案是cybernetic.nomad的评论。

我改变了

wbTo.Sheets("Sheet1").Range("D14").Resize(.Count).Value = lAnswer3  'D14 and D15 get populated

wbTo.Sheets("Sheet1").Range("D14").Value = lAnswer3  'D14 and D15 get populated

,我的重复问题已解决。