如何调用多列的代码
我需要在非连续的列上运行下面的代码,这里有代码发布在这里如何做一个不同的代码段。 将循环添加到Excel的VBA代码
我需要做同样的事情:
Sub CleanAll() Dim rng As Range For Each rng In Sheets("Sheet1").Range("D2:D100").Cells 'adjust sheetname and range accordingly rng.Value = TextOnly(rng.Value) Next End Sub
我失败的努力
Sub CleanAll(sColRange As String) Dim rng As Range For Each rng In Sheets("Sheet1").Range(sColRange).Cells 'adjust sheetname and range accordingly rng.Value = TextOnly(rng.Value) Next End Sub
像这样使用:
Call CleanAll("B2") Call CleanAll("H2")
谢谢
编辑
以上提到了以下内容
Function TextOnly(strSource As String) As String Dim i As Integer Dim strResult As String For i = 1 To Len(strSource) Select Case Asc(Mid(strSource, i, 1)) Case 48 To 57, 65 To 90, 97 To 122: 'include 32 if you want to include space strResult = strResult & Mid(strSource, i, 1) End Select Next AlphaNumericOnly = strResult End Function
为什么不简单的传递范围到子程序?
Sub CleanAll(range as Range) Dim rng As Range For Each rng In range.Cells rng.Value = TextOnly(rng.Value) Next End Sub
那么你可以打电话给它
CleanAll(Sheets("Sheet1").Range("A1:A100"))