这是我第一次使用 InputBox。希望让用户将他们的姓名首字母输入到将被导入数据库的电子表格中。我正在使用 InputBox 来提高一致性并自动填充必要的单元格。
我无法理解用户输入信息的过程,如果输入是两个字母,则它被接受并填充到单元格中,否则会出现一条消息,指示需要两个字母并且 InputBox 再次显示。通过测试,我相信我的循环没有像我预期的那样工作。如果第一个条目是两个字母,它将按预期将信息填充到 excel 中。但是,如果第一个条目不正确而后续条目正确,则它似乎不会退出循环。我不确定为什么会这样?任何帮助将不胜感激。
Dim c As Range
Set c = Sheets("CompilePriceAdjustments").Range("E2")
c = InputBox("Please Enter Initials", "PRICE INCREASE APPROVER")
Do Until c = vbString And Len(c) = 2
MsgBox ("You must enter two letters")
c = InputBox("Please Enter Initials", "PRICE INCREASE APPROVER")
Loop
Sheets("CompilePriceAdjustments").Range("E2").Value = UCase(c)
c.AutoFill Destination:=Sheets("CompilePriceAdjustments").Range("E2:E" & Cells (Rows.Count, "D").End(xlUp).Row)