仅选择数字或仅选择文本的vba

时间:2014-04-23 18:29:13

标签: excel vba excel-vba

我正在寻找vba,它将仅根据我选择的示例选择并复制特定范围内的数字或文字:

Column A
xs
s
m
l
xl
1
1.5
2
2.5
3
3.5

vba如何选择文本(xs,s,m)或数字(1,1.5,2)并复制它。

2 个答案:

答案 0 :(得分:2)

您正在寻找Range.SpecialCells方法。 你可以在这里找到msdn的文档。 http://msdn.microsoft.com/en-us/library/office/ff196157(v=office.15).aspx

Range.SpecialCells(type as xlCellType, [Value])

返回范围。所以,我们可以存储这样的范围。

dim rngNumbers as Range
set rngNumbers = ActiveWorksheet.Range("A:A").SpecialCells(xlCellTypeConstants,xlNumbers)

然后你只需要调用.Copy方法。 下面的潜艇应该没有额外的对象。

Sub copyNumbers(source As Range, dest As Range)
    source.SpecialCells(xlCellTypeConstants, xlNumbers).Copy dest
End Sub

Sub copyText(source As Range, dest As Range)
    source.SpecialCells(xlCellTypeConstants, xlTextValues).Copy dest
End Sub

Sub main()
    dim sourceRange as Range
    Set sourceRange = ActiveSheet.Range("A:A")

    copyNumbers sourceRange, ws.Range("D1")
    copyText sourceRange, ws.Range("E1")

End Sub

答案 1 :(得分:0)

您可以使用转到特殊。如果您需要VBA,我建议您自己录制:

1

选择所需的选项: 2