首页 > 解决方案 > 通过输入框输入的数字未链接到我在 B 列中的公式

问题描述

你能帮我下面的代码吗,我想要excel做的是:当用户通过输入框输入一个数字(在本例中为“12”)时,B1中的公式将“nb”替换为数字由用户输入...... 目前该公式不起作用,因为我的公式中的默认字符“nb”

图像1

=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

标签: vbaexcelexcel-formula

解决方案


你没有连接你的 input nb。如您所见,您的输出公式包含nb而不是其值。将您的代码更正为 -

ActiveCell.FormulaR1C1 = "=TRIM(LEFT(SUBSTITUTE(MID(RC[-1],FIND(" & nb & ",RC[-1]),LEN(RC[-1])),"" "",REPT("" "",100)),100))"

推荐阅读