作者:绿色风
分类:
时间:2022-08-17
浏览:140
楼主 liuguansky |
Q: A列的数据是有重复的。结果表A列的数据是没有重复的。我想做的效果:1.第一次结果表是空的。提取数据表的姓名项(非重复),让我设置这些人的类别,(类别为A\B\C),至于是分A还是B、C,这是人为模糊确定的。2.设置好后,数据在结果表中显示。3。当数据表中数据变化时,如新增加了张13,就弹出窗体让我设置张13的类别。那些设置过类别的就不要重新设置了。各位老师看看,这个怎么做好。 同时要满足批量处理和新增处理。 A: 字典对象前期绑定,需引用VBE工具下MSSCRIPTING.RUNTIME 窗体代码:
- Private Sub CommandButton1_Click()
- Worksheets("结果表").Cells(Rows.Count, 1).End(3).Offset(1).Resize(1, 2) = _
- Array(Label1.Caption, TextBox2.Text)
- Unload UserForm1
- End Sub
- Private Sub UserForm_Initialize()
- Label1.Caption = d.Keys(d.Count - 1)
- End Sub
模块代码:
- Public d As New Dictionary
- Sub justtest()
- Dim i&, Arr
- Arr = Range(Range("a1"), Cells(Rows.Count, 1).End(3)).Value
- d.RemoveAll
- Worksheets("结果表").Range("a2:b" & Rows.Count).ClearContents
- For i = 2 To UBound(Arr, 1)
- If Not d.Exists(Arr(i, 1)) Then
- d.Add Arr(i, 1), ""
- UserForm1.Show
- End If
- Next i
- End Sub
事件代码:
- Private Sub Worksheet_Change(ByVal Target As Range)
- If Target.Cells.Count = 1 Then
- If Target.Column = 1 Then
- If Not d.Exists(Target.Value) Then
- d.Add Target.Value, ""
- UserForm1.Show 0
- End If
- End If
- End If
- End Sub
该贴已经同步到 |
2楼 eliane_lei |
进来学习!谢谢分享 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一