VBA Excel 动态显示添加的结果

VBA Excel Dynamically Display Added Results

所以我用一个简单的 Grocery List 应用程序对我的问题进行建模。

程序界面:

现在我想要的是让客户输入:鸡蛋、牛奶和面包,然后将其输入并输出到 .txt 文件。

当前代码:

Private Sub CreateList_Click()

Dim myFile As String, myString As String
myFile = "C:\Reformatted.txt"
Open myFile For Output As #1

myString = First.Value + Second.Value + Third.Value + Fourth.Value + Fifth.Value

Print #1, myString

Close #1
Shell "C:\Windows\Notepad.exe C:\Reformatted.txt", 1

End Sub

所需操作:

我想要发生的是在那里输入前 5 个项目。然后它会提示他们是否想要另外 5 个。如果他们想要,那么他们可以添加另一行。

所以我知道我可以在 VB 中添加一个 MsgBox 并为此设计一个 while 循环。我的问题是如何显示他们 first/previous 提交的结果?

想要的结果:

我知道 VB 将值存储为变量,但我如何才能在用户仍有机会输入更多条目时将它们显示给用户。还有如何将所有这些以首选格式添加到记事本文件中?

----------------------------帕默小姐的回答之后------------ --------------

Private Sub AddEntry_Click()

Dim UserEntry As String

UserEntry = First.Value + DDPP.Value + Filer.Value + EntryNumber.Value

myString = myString & Chr(13) & UserEntry

GroceryList.UserDisplay.Caption = "You have entered:" & myString

End Sub

场景 1 - 第一次添加

场景 2 - 第二次添加

两个加法应该一个接一个地放。但目前它只是取代它。

您可以使用以下形式在 while 循环的每次迭代中更新表单上的标签:

FormName.LabelName.Caption = "you have entered:" & myString

然后将每个循环添加到字符串

myString  = myString & First.Value + Second.Value + Third.Value + Fourth.Value + Fifth.Value

编辑

myString  = myString & chr(13) & First.Value + Second.Value + Third.Value + Fourth.Value + Fifth.Value