excel - 在 Excel 中,我如何通过一行代码检查下拉选择的值是什么。然后,我如何检查该值与另一个值
问题描述
我正在尝试创建一个宏,该宏首先允许用户根据下拉列表轻松地将数据传输到另一个工作表以选择月份。我希望用户能够在我创建的字段中输入日期,然后使用工作表上的按钮首先选择要粘贴的月份,然后确认粘贴。我在名为“DB - Ref Monthly”的工作表上有十二个从 Ref_Jan 到 Ref_Dec 的命名范围我正在努力将这些部分组合在一起,但我的测试程序被困在这里:
Sub Button8_Click()
Dim MonthSelector As Range
Dim Ref_May As Range
If Range("MonthSelector") = Range("Ref_May") Then
Sheets("DB - Ref Current").Range("Ref_Current").Copy
Sheets("DB - Ref Monthly").Range("Ref_May").PasteSpecial xlPasteAll
Application.CutCopyMode = False
Application.ScreenUpdating = True
Else
End If
End Sub
我目前的计划是每个月使用 12 个 if 语句来引用,因为我已经在另一张表中复制/粘贴了代码的部分。如果我对这一切都错了,我不会介意一些指导。如果我不清楚并且可以提供更多信息,请告诉我。
解决方案
使用循环来迭代几个月,然后无需复制代码逻辑。
Dim arrMonth As New Collection
Dim idx As Integer
Dim val As String
Call arrMonth.Add("Jan")
Call arrMonth.Add("Feb")
Call arrMonth.Add("Mar")
'..etc..
Call arrMonth.Add("Dec")
For idx = 1 To arrMonth.Count
val = arrMonth.Item(idx)
Call MsgBox(idx & "=" & val)
Next
推荐阅读
- r - How to extract series of words separated by commas and start and end words?
- jpeg - 重命名 Jpegs 的大文件夹
- swift - 尝试使用 Active Label 作为标题时崩溃
- javascript - Getting mutual friends MongoDB
- sql - 如何获取字符串中特定字符的所有位置索引?
- c - 无法让 Uno32 以预期的频率运行定时器 1 中断
- ansible - 获取清单主机名列表
- jquery - 如何从jquery中已经打开的窗口打开一个新窗口?
- javascript - 如何让 promise.response 返回 API 的响应?
- html - 在 .py 文件中编写 html 代码的格式是什么?