如何更新列表框中同一列下具有相同值的多个选定行

和安德里亚

在此处输入图片说明你好 我是VBA的新手

我有一个具有多列数据的listbox1。每次单击删除按钮时,我都希望它为每个数据填充“状态”列下的.cell(第8行),以“丢弃”。我已经完成了以下代码。我可以选择多个行,但是在所选行中,只有一行可以更改其状态。请帮忙。谢谢。

Private Sub DeleteCartonButton_Click()

 Dim cl     As Range
 Dim rIds   As Range
 Dim Rw     As Long
 Dim String1 As String
 Dim i As Long, msg As String, Check As String

    'Generate a list of the selected items
    With ListBox1
        For i = 0 To .ListCount - 1
            If .Selected(i) Then
                msg = msg & .List(i) & vbNewLine



                String1 = Menu.ListBox1.List(Menu.ListBox1.ListIndex, 0)

                With Sheet1
                   Set rIds = .Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(xlUp))
                   With rIds
                       Set cl = .Find(String1, LookIn:=xlValues)
                       If Not cl Is Nothing Then Rw = cl.Row
                   End With                                   
                   .Cells(Rw, 8).Value = "Discarded"   
                End With
                UserForm_Initialize
            End If
        Next i
    End With

    If msg = vbNullString Then
        'If nothing was selected, tell user and let them try again
        MsgBox "No Carton was selected. Please make a selection."
        Exit Sub
    End If

End Sub
L42

根据您的评论,尝试以下操作:

'~~> get all the selected indexes
Dim myindex, index     

With ListBox1
    For i = 0 To .ListCount - 1
        If .Selected(i) Then
            If Not IsArray(myindex) Then
                myindex = Array(i)
            Else
                ReDim Preserve myindex(UBound(myindex) + 1)
                myindex(UBound(myindex)) = i
            End If
        End If
    Next
End With

If IsEmpty(myindex) Then Exit Sub '~~> if nothing is selected
'~~> update the sheet
With Sheet1
    For Each index In myindex
        .Range("H2").Offset(index,0).Value = "Discarded"
    Next
End With

'~~> update the ListBox1 display
DoEvents
Listbox1.RowSource = "'[WorkbookName]SheetName'!RangeAddress"

您需要DoEvents直观地更新ListBox
我还指出,您应该显式分配RowSource属性
这样可以避免错误和意外的输出。
我假设您的数据始于单元格H2,否则将其替换。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

合并具有相同值和总和值的同一列和表中的行

来自分类Dev

如何提取与某行相同的一列中具有相同值的所有行?

来自分类Dev

两个具有相同值的列表框,我需要从一个列表框中删除相同的值

来自分类Dev

将具有多列的列表框中的多个选定项目添加到 Excel 工作表

来自分类Dev

SQL 显示具有相同一列值的行分组的行

来自分类Dev

查找一列中具有相同值而另一列中具有其他值的行?

来自分类Dev

选择在一列中具有相同值而在另一列中具有不同值的行

来自分类Dev

在多行的一列中查找具有相同值的行,而另一列具有不同的值

来自分类Dev

当将值插入/更新/删除同一表中的另一列时,如何使一列具有自动反映的值?

来自分类Dev

XPATH-如何选择在表的同一行的列中具有多个值的tr?

来自分类Dev

XPATH-如何选择在表的同一行的列中具有多个值的tr?

来自分类Dev

如何从列表框C#Windows应用程序中获取多个选定值

来自分类Dev

如何将多个列表框中的选定值添加到特定范围?

来自分类Dev

查找与另一个数据框中的列具有相同的非唯一列值的数据框中的行

来自分类Dev

更新同一列中的多个值

来自分类Dev

如何在一个或多个列中查找具有完全相同值的行

来自分类Dev

如何将一列中的值复制到R中另一列中具有相同值的行?

来自分类Dev

SQL-如何插入具有同一列的多个值的记录?

来自分类Dev

如何在同一列上找到具有多个不同值的结果?

来自分类Dev

在具有相同ID pyspark数据框的另一列中显示不同的值

来自分类Dev

如何在同一行中将多个项目添加到列表框C#中?

来自分类Dev

在python中与另一列具有相同值的行中选择具有最高列值的csv行

来自分类Dev

具有相同内容的多列的列表框

来自分类Dev

如何从同一列的多个值获取行

来自分类Dev

如何在多列列表框中获取选定的值

来自分类Dev

Visual Basic:如何使用循环从列表框(Selectionmode Multisimple)中获取所有选定的值?

来自分类Dev

单击列表框中的值之一时,如何使多个列表框更改值?

来自分类Dev

如果一列在数据框中具有多个值,则创建多行

来自分类Dev

根据另一列更新具有不同值的同一列

Related 相关文章

  1. 1

    合并具有相同值和总和值的同一列和表中的行

  2. 2

    如何提取与某行相同的一列中具有相同值的所有行?

  3. 3

    两个具有相同值的列表框,我需要从一个列表框中删除相同的值

  4. 4

    将具有多列的列表框中的多个选定项目添加到 Excel 工作表

  5. 5

    SQL 显示具有相同一列值的行分组的行

  6. 6

    查找一列中具有相同值而另一列中具有其他值的行?

  7. 7

    选择在一列中具有相同值而在另一列中具有不同值的行

  8. 8

    在多行的一列中查找具有相同值的行,而另一列具有不同的值

  9. 9

    当将值插入/更新/删除同一表中的另一列时,如何使一列具有自动反映的值?

  10. 10

    XPATH-如何选择在表的同一行的列中具有多个值的tr?

  11. 11

    XPATH-如何选择在表的同一行的列中具有多个值的tr?

  12. 12

    如何从列表框C#Windows应用程序中获取多个选定值

  13. 13

    如何将多个列表框中的选定值添加到特定范围?

  14. 14

    查找与另一个数据框中的列具有相同的非唯一列值的数据框中的行

  15. 15

    更新同一列中的多个值

  16. 16

    如何在一个或多个列中查找具有完全相同值的行

  17. 17

    如何将一列中的值复制到R中另一列中具有相同值的行?

  18. 18

    SQL-如何插入具有同一列的多个值的记录?

  19. 19

    如何在同一列上找到具有多个不同值的结果?

  20. 20

    在具有相同ID pyspark数据框的另一列中显示不同的值

  21. 21

    如何在同一行中将多个项目添加到列表框C#中?

  22. 22

    在python中与另一列具有相同值的行中选择具有最高列值的csv行

  23. 23

    具有相同内容的多列的列表框

  24. 24

    如何从同一列的多个值获取行

  25. 25

    如何在多列列表框中获取选定的值

  26. 26

    Visual Basic:如何使用循环从列表框(Selectionmode Multisimple)中获取所有选定的值?

  27. 27

    单击列表框中的值之一时,如何使多个列表框更改值?

  28. 28

    如果一列在数据框中具有多个值,则创建多行

  29. 29

    根据另一列更新具有不同值的同一列

热门标签

归档