首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用单元格法实现VBA Excel R1C1Formulas

用单元格法实现VBA Excel R1C1Formulas
EN

Stack Overflow用户
提问于 2012-01-09 05:08:29
回答 2查看 6K关注 0票数 2

我在这个问题上运行了很多次,仍然没有找到解决方案,也没有找到为什么这个方法不起作用。我想使用cells方法通过一个列输入一个公式,所以我这样写:(只是一个例子)

代码语言:javascript
运行
复制
    With ws
        iEndCol = .cells(4650,1).End(Xlup).Column
        For i = 2 To iEndCol
            .Cells(i, 2) = "=VLOOKUP([RC-1],Somesheet!someTable,10,FALSE)"
        Next
    End With

当这个方法不起作用(方法错误)时,我尝试这样做:

代码语言:javascript
运行
复制
    Cells(i,2).Select
    Do While IsEmpty(ActiveCell.Offset(0, -1)) = False
        ActiveCell.Formula = "=VLOOKUP([RC-1],Somesheet!someTable,10,FALSE))"
        ActiveCell.Offset(1, 0).Select
    Loop

或者,我尝试使用.FormulaR1C1、.Formulalocal等,而不是.Formula,这也不起作用。然后这就是工作原理:

代码语言:javascript
运行
复制
    Range("B2").Select
        Do Until IsEmpty(ActiveCell.Offset(0, 5)) And IsEmpty(ActiveCell.Offset(0, 6))
            If IsEmpty(ActiveCell) = False Then
                ActiveCell.Offset(0, 1).Formula = "=VLOOKUP(B2,Somesheet!someTable,10,FALSE)"
            End If
            ActiveCell.Offset(1, 0).Select
        Loop

在使用单元格输入公式时,我有什么不明白的地方?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-09 05:36:10

使用Excel界面(而不是您的代码)输入公式。

现在转到代码编辑器,按Ctrl+G键并键入:? activecell.FormulaR1C1

结果=VLOOKUP(RC[-1],Somesheet!sometable,10,FALSE)会告诉你哪里做错了。您提供的RC语法不正确。

话虽如此,您应该始终确保您的公式语法与您选择用于设置该公式的属性相匹配。对.Formula使用A1表示法,对FormulaR1C1使用RC表示法。并且不要使用.Value来设置公式。

票数 2
EN

Stack Overflow用户

发布于 2012-01-09 05:46:51

首先,以下方法适用于我:

代码语言:javascript
运行
复制
Set oCell = ActiveCell

Do
    Set oCell = oCell.Offset(0, 1)
    oCell.FormulaR1C1 = "=VLOOKUP(RC[-1],SomeTable,10,FALSE)"
    Set oCell = oCell.Offset(1, -1)
Loop Until IsEmpty(oCell)

请注意,在我的语法中,我假设SomeTable是一个具有工作簿作用域的已定义名称,因此我不需要前缀。如果SomeTable是特定工作表范围内的已定义名称,则只需在工作表名称前加上前缀(例如Somesheet!SomeTable)。

其次,您应该使用Debug.Print oCell.Address验证它试图将公式放入哪个单元格中。可能的情况是,它试图将公式填充在字面上的第一列中,这将导致公式中的错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8781338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档