首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VBA range.formula问题

VBA range.formula问题
EN

Stack Overflow用户
提问于 2018-05-27 21:39:18
回答 1查看 728关注 0票数 0

我的代码中有一部分是我做不到的,

我试图在VBA =RIGHT(LEFT(X1;Z1-2);LEN(LEFT(X1;Z1-2))-FIND(":";X1))上执行以下命令

在单元格X1上,有一个文本:RESULTS:NG & MODEL:IJ

我的VBA代码是:

代码语言:javascript
复制
LR = Cells(Rows.Count, "A").End(xlUp).Row

For i = 1 To LR
   cel = "A" & i
   cel2 = "Y" & i
   cel3 = "Z" & i
   cel4 = "X" & i

   Range("M" & i).Formula = "=RIGHT(LEFT(" & cel4 & "," & cel3 & "-" & 2 & "),LEN(LEFT(" & cel4 & "," & cel3 & "-" & 2 & "))-FIND(:" & cel4 & "))"

Next i

我也愿意用更好的方法来解决这个问题

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-27 21:48:57

尝试一次编写所有公式,并尽可能减少使用公式中的引号。

代码语言:javascript
复制
   Range(Cells(1, "M"), cells(lr, "M")).Formula = _
     "=RIGHT(LEFT(X1, Z1-2), LEN(LEFT(X1, Z1-2))-FIND(char(58), X1))"

子过程中的所有范围和单元格引用使用正确定义的父工作表引用更好。

代码语言:javascript
复制
dim lr as long
with worksheets("sheet1")
    LR = .Cells(.Rows.Count, "A").End(xlUp).Row
    .Range(.Cells(1, "M"), .cells(lr, "M")).Formula = _
      "=RIGHT(LEFT(X1, Z1-2), LEN(LEFT(X1, Z1-2))-FIND(char(58), X1))"
end with
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50556742

复制
相关文章

相似问题

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