小编Clo*_*ISQ的帖子

不同表中的VBA vlookup参考

在Excel 2007中,我循环遍历Sheet 2中第4列的值.仍然在Sheet 2中,我想将vlookup公式的结果输出到第5列.vlookup公式需要引用Sheet 1,其中引用列是.为此,我有以下公式

Range("E2") = Application.WorksheetFunction.VLookup(Range("D2"), _
          Worksheets("Sheet1").Range("A1:C65536"), 1, False)
Run Code Online (Sandbox Code Playgroud)

问题,它返回错误代码1004.我读到这是因为我需要在运行公式之前选择Sheet 1,例如:

ThisWorkbook.Worksheets("Sheet1").Select
Run Code Online (Sandbox Code Playgroud)

但是搜索到的值Range("D2")不属于Sheet 1,并且在将Sheet 1带入视图后仍然返回代码1004.

在这种情况下,引用不同工作表的正确方法是什么?

excel vba excel-vba

3
推荐指数
1
解决办法
12万
查看次数

VBA排除特殊字符和数字但保留字符串空格

我在excel单元格中有"abcd 24 ef-gh"文本.

我需要摆脱"24"和" - "但保留所有字母和空格.

我有一个循环文本的函数,并使用like运算符识别字母.出于某种原因,它不排除我在循环之前添加了替换语句的"24"和" - ":

Function StripNonAlpha(TextToReplace As String) As String
Dim i As Integer
Dim a, b, c As String
a = Replace(TextToReplace, "-", " ")
For i = 1 To Len(a)
    b = Mid(a, i, 1)
    If b Like "[A-Z,a-z, ]" Then
        c = c & b
    End If
Next i
StripNonAlpha = c

End Function
Run Code Online (Sandbox Code Playgroud)

我本来希望使用正则表达式而不是这个循环,但是当我发现很多其他语言的例子时,我并没有弄清楚用于VBA的正则表达式.

任何正则表达式的建议都是受欢迎的,但我也想知道为什么我的循环没有按预期运行.

regex excel vba excel-vba

2
推荐指数
1
解决办法
8071
查看次数

标签 统计

excel ×2

excel-vba ×2

vba ×2

regex ×1