vba只select数字或只select文本

我正在寻找vba,将select和复制只有数字或文本从一个特定的范围基于哪一个我select的例子将是:

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

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

您正在寻找Range.SpecialCells方法。 你可以在这里findmsdn的文档。 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 

你可以使用转到特别的。 如果你需要VBA,我build议你logging下你自己:

1

select你想要的选项: 2