如何使用excel VBA在用户窗体中显示选定数据

如何使用excel VBA在用户窗体中显示选定数据,vba,excel,Vba,Excel,我有一个代码,他选择了我想要的数据,但我想在表中显示这些数据,而不是在MsgBox中 这是我的代码,我希望有人能为我找到一个解决方案 Private Sub CommandButton1_Click() Dim ws1 As Worksheet Dim ws2 As Worksheet Dim table1 As Range Dim table2 As Range Dim table1Rows As Integer Dim table1Cols As Integer Set ws1 =

我有一个代码,他选择了我想要的数据,但我想在表中显示这些数据,而不是在MsgBox中

这是我的代码,我希望有人能为我找到一个解决方案

Private Sub CommandButton1_Click()

Dim ws1 As Worksheet
Dim ws2 As Worksheet

Dim table1 As Range
Dim table2 As Range

Dim table1Rows As Integer
Dim table1Cols As Integer

Set ws1 = Worksheets("Feuil1")
Set ws2 = Worksheets("Feuil2")
Set table1 = ws1.Cells
Set table2 = ws2.Cells

table1Rows = ws1.UsedRange.Rows.Count
table1Cols = ws1.UsedRange.Columns.Count

For i = 1 To table1Rows
    For j = 1 To table1Cols
        If table1(i, 1).Value <> table2(i, 1).Value Then
            MsgBox "Libellé : " & table1(i, 1) & ", du montant : " & table1(i, 3) & " est ajouté !"
        End If
    Next
Next
End Sub
Private子命令按钮1\u单击()
将ws1设置为工作表
将ws2设置为工作表
变暗表1作为范围
变暗表2作为范围
Dim Table1显示为整数
Dim table1Cols作为整数
设置ws1=工作表(“Feuil1”)
设置ws2=工作表(“Feuil2”)
设置table1=ws1.Cells
设置table2=ws2.Cells
table1Rows=ws1.UsedRange.Rows.Count
表1Cols=ws1.UsedRange.Columns.Count
对于i=1至表1,如箭头所示
对于表1中的j=1
如果表1(i,1)。值表2(i,1)。值那么
MsgBox“Libellé:”&表1(i,1)和“du montant:”&表1(i,3)和“est ajouté!”
如果结束
下一个
下一个
端接头

您需要的是列表框。创建UserForm(如Userform1)及其内部的listbox(如Listbox1)。然后您可以通过以下公式
.AddItem
函数将数据放入其中。您的循环将如下所示:

For i = 1 To table1Rows
    For j = 1 To table1Cols
        If table1(i, 1).Value <> table2(i, 1).Value Then
            UserForm1.ListBox1.AddItem "Libellé : " & table1(i, 1) & ", du montant : " & table1(i, 3) & " est ajouté !"
        End If
    Next
Next
End Sub
UserForm1.Show
表1中i=1的

对于表1中的j=1
如果表1(i,1)。值表2(i,1)。值那么
UserForm1.ListBox1.AddItem“Libellé:”&表1(i,1)&“,du montant:”&表1(i,3)&“est ajouté!”
如果结束
下一个
下一个
端接头
UserForm1.Show

你指的是用户表单,或者电子表格中的某个范围,或者什么?是的,我指的是用户表单。因为我看不到MSGBOXY中的所有数据。你没有使用j循环变量:要么你去掉它的循环,要么你使用它!我使用j循环,我把它等于1,因为我想要第1列和第3列的数据。问题是,当我点击按钮时,我在MsgBox中得到了我想要的数据,但我看不到我所有的数据,我必须点击OK几次才能逐个显示数据,这让我很不安。所以我需要查看表中的所有数据或类似的内容。感谢您的建议,我知道如何创建用户表单并放入列表框,但我不知道在单击按钮时如何获取数据如果您的意思是将宏分配给按钮,请参见:。如果没有,那是另一个话题的另一个问题。请创建一个,描述你的担忧,有人会帮助你。这很有效。但是还有一个问题,哈哈,我得到了我的数据,但它们重复了4次,我不知道为什么:/我不知道。请用屏幕、代码和问题的逐步描述创建另一个线程。