【发布时间】:2019-07-16 21:55:45
【问题描述】:
我有以下数组:
ID Chat nr
#N/A
126551829 33
126554922 33
126555078 33
126555079 33
126555261 33
126555278 33
126553808 34
126553820 34
126554425 35
126555786 36
126555925 36
126555944 36
126556297 37
126556298 37
126556299 37
126556300 37
126556307 37
126556320 37
126556322 37
126556323 37
126556323 37
126556323 37
126556323 37
126556325 37
126556332 37
#N/A
#N/A
#N/A
etc...
此数据位于名为“导入”的工作表中。在名为“仪表板”的工作表中,我有下拉列表,工作表的用户可以在其中选择聊天 nr。例如,如果用户选择 36,我想要此宏的以下输出(ID):
126555786
126555925
126555944
我尝试编写代码,但我的代码返回数组中的所有值,而不仅仅是带有“36”的值。此外,我在“导入”表中的聊天号码列中有公式。
Private Sub CommandButton2_Click()
Dim xRng As Range
Dim xLastRow As Long
Dim xLastRow2 As Long
Dim i As Integer
On Error Resume Next
Set xRng = Worksheets("Import").Range(Range("B18"))
If xRng(, 2).Value = Worksheets("Dashboard").Range("B9").Value Then
xRng.Copy Range("F6")
xLastRow = xRng.Rows.Count + 1
ActiveSheet.Range("F6:F" & xLastRow).RemoveDuplicates Columns:=1, Header:=xlNo
End If
End Sub
代码中的单元格说明:
- B18 包含数组的名称。我需要间接地做到这一点。
- B9 包含我要显示的聊天号码(在本例中为 36)
- F6 是输出范围中的第一个输出单元格。我希望这个范围是动态的。
我花了很多时间试图弄清楚这一点,但没有任何运气......我是 VBA 编码的新手,但我渴望学习。我当然会赞扬好的答案!
【问题讨论】:
-
如果您不知道自己在做什么,请不要使用
On Error Resume Next。 -
"...表单的用户可以选择聊天 ID。例如,如果用户选择 36..." 我相信他们选择了聊天编号。 ,而不是 ID
-
好的,但是你对编码有什么建议吗?
-
谢谢蒂姆!我的错误
-
正在努力
标签: arrays excel vba arraylist