vba - 通过输入框输入的数字未链接到我在 B 列中的公式
问题描述
你能帮我下面的代码吗,我想要excel做的是:当用户通过输入框输入一个数字(在本例中为“12”)时,B1中的公式将“nb”替换为数字由用户输入...... 目前该公式不起作用,因为我的公式中的默认字符“nb”
=TRIM(LEFT(SUBSTITUTE(MID(A1;FIND(nb;A1);LEN(A1));" ";REPT(" ";100));100))
在执行我的宏后,我在 B 列中的所有公式中仍然保留输入图像描述“nb”...我希望 B 列中的所有公式中的这个“nb”自动替换为用户通过输入的数字输入框。这是我在下面的代码以及我在 B 列中得到的图像(通过下面的链接)。非常感谢您的帮助。
Sub FLS()
Dim nb As Byte
nb = Application.InputBox("Please enter character:", "Kutools for Excel", xTxt, , , , , 1)
xUpdate = Application.ScreenUpdating
Application.ScreenUpdating = False
Range("B1").Select
ActiveCell.FormulaR1C1 = "=TRIM(LEFT(SUBSTITUTE(MID(RC[-1],FIND(nb,RC[-1]),LEN(RC[-1])),"" "",REPT("" "",100)),100))"
Selection.AutoFill Destination:=Range("B1:B3370"), Type:=xlFillDefault Range("B1:B3370").Select
ActiveSheet.Cells(ActiveSheet.Rows.Count, Selection.Column).End(xlUp).Select
Application.ScreenUpdating = xUpdate
End Sub
解决方案
你没有连接你的 input nb
。如您所见,您的输出公式包含nb
而不是其值。将您的代码更正为 -
ActiveCell.FormulaR1C1 = "=TRIM(LEFT(SUBSTITUTE(MID(RC[-1],FIND(" & nb & ",RC[-1]),LEN(RC[-1])),"" "",REPT("" "",100)),100))"
推荐阅读
- node.js - 如何使用 AWS.SNS.publish 更改 SMS 类型
- javascript - 全部替换 ”?” 由“&”除第一个
- emacs - wdired 模式:创建、复制、删除文件和目录
- javascript - Brilliant.org 的身份验证问题(挑战)
- java - Dijksta 算法 - 邻接表和最小堆 - java
- c++ - Visual Studio C++ 调试时无法加载符号和访问冲突
- php - 解释为什么正则表达式太大 PHP/PCRE
- sql - 根据多对多关系返回记录列表的最快方法
- mysql - 使用 unixodbc 连接数据库时出现 IM004 错误(macos)
- python - 将 linsolve 解决方案映射到 Sympy 中的索引符号