使用VBA将特定单元格内容复制到新工作表中

时间:2015-07-27 13:00:44

标签: excel vba excel-vba

我需要一些帮助。我试图将一张纸中的单元格内容复制到同一项目中的另一张纸中。下面我有VBA代码,可以帮助我将单元格复制到另一张表格。我唯一的问题是每个单元格包含的内容比我需要的更多。

例如我有:

“数据包:发送= 10,收到= 10,丢失= 0(0%丢失)”

我从上面所需要的只是“0”(或者它恰好是什么百分比。)如何通过向下面的代码添加功能来自动执行此操作。

Private Sub CommandButton1_Click()

Dim LR As Long, i As Long, cls
cls = Array("A13", "A14", "A15", "A16")
With Sheets("Sheet2")
    LR = WorksheetFunction.Max(6, .Range("A" & Rows.Count).End(xlUp).Row + 1)
    For i = LBound(cls) To UBound(cls)
        .Cells(LR, i + 1).Value = Me.Range(cls(i)).Value
    Next i
End With
End Sub

谢谢!

2 个答案:

答案 0 :(得分:0)

假设文本为Me.Range(cls(i)).Value,则将for循环的内容更改为

percentStr = Me.Range(cls(i)).Value
.Cells(LR, i + 1).Value = Val(Mid$(percentStr, InStr(percentStr, "(") + 1))

答案 1 :(得分:0)

仅提取百分比值的一种方法:

Sub qwerty()
    Dim s As String
    s = "Packets: Sent = 10, Received = 10, Lost = 0 (0% loss)"
    ary = Split(s, "(")
    bry = Split(ary(1), "%")

    MsgBox bry(0)
End Sub