多选列表框值放置

时间:2019-05-23 16:00:11

标签: excel vba

我需要多选列表框中的值才能填充到电子表格中的不同位置。每个选择都需要填充到不同的行,即第一选择B60,第二选择B68,第三选择B78。

我尝试将以下代码添加到我拥有的内容中,但出现“ Withif if”错误和“ Next For”错误: 我尝试添加:

If Me.ALLAC.Selected(x) Then
Ck = 2
addme = Me.ALLAC.List(x)
addme.Offset(8, 1) = Me.ALLAC.List(x, 1)
addme.Offset(8, 2) = Me.ALLAC.List(x, 2)
Set addme = addme.Offset(1, 0)

下面是当前编写的代码

Private Sub cmdAdd2_Click()
  'dimension the variable
Dim addme As Range
Dim x As Integer, Ck As Integer
  'set variables
Set addme = sheet9.Range("B59").Offset(1, 0)
Ck = 0
  'run the for loop
For x = 0 To Me.ALLAC.ListCount - 1
  'add condition statement
If Me.ALLAC.Selected(x) Then
Ck = 1
addme = Me.ALLAC.List(x)
addme.Offset(0, 1) = Me.ALLAC.List(x, 1)
addme.Offset(0, 2) = Me.ALLAC.List(x, 2)
Set addme = addme.Offset(1, 0)
  'clear the selected row
ALLAC.Selected(x) = False
End If
Next x
  'send a message if nothing is selected
If Ck = 0 Then
MsgBox "There is nothing selected"
End If
End Sub

我想查看多选列表中的每个选择,以转到电子表格中的特定单元格。

但是它们在下一行之后显示。即B60,B61,B62。

1 个答案:

答案 0 :(得分:0)

我更改了set addme = addme.offset(8,0),将第二次和第三次点击从第一次点击移到了8行。完美,简单的修复程序,无需其他代码。我在需要时投入了更多。谢谢Pawel的投入。