通过输入框输入的数字未链接到B列中的公式

时间:2018-08-06 13:45:25

标签: excel vba excel-vba excel-formula

您能否通过下面的代码为我提供帮助,我希望excel做到以下几点:当用户通过输入框输入数字(在这种情况下为“ 12”)时,B1中的公式替换为“ nb”通过用户输入的号码…。当前该公式不起作用,因为我的公式中的默认字符“ nb”

img1

=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

1 个答案:

答案 0 :(得分:0)

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

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