VBA: 检测带有下拉列表的单元格中的值
VBA: Detecting value in cell with dropdown list
我在检测带有下拉列表的单元格中的值时遇到一些问题。
当我运行下面的代码时,它只给我第I
列中的值0。 H
列包含多个 Dropdown lists
(通过数据验证得出),其值可以是 Yes 或 No:
Sub DropDownlistValue()
Dim Holidays As Worksheet
Dim Checkbox_RowCount As Long
Dim HolidayCount As Long
Set Holidays = ThisWorkbook.Sheets("Visning")
Checkbox_RowCount = Holidays.Cells(Holidays.Rows.Count, "H").End(xlUp).Row
For HolidayCount = 2 To Checkbox_RowCount
If Not IsEmpty(Holidays.Range("H" & HolidayCount)) Then
Holidays.Activate
Holidays.Range("H" & HolidayCount).Select
If ActiveCell = "YES" Then
ActiveCell.Offset(0, 1) = 1
Else
ActiveCell.Offset(0, 1) = 0
End If
End If
Next HolidayCount
End Sub
提前致谢。
您可能需要的是这一行的变化:
If ActiveCell = "YES" Then
进入
If Ucase(ActiveCell) = "YES" Then
另一个提示 - 移动此行:
Holidays.Activate
before/outside 你的循环。
我在检测带有下拉列表的单元格中的值时遇到一些问题。
当我运行下面的代码时,它只给我第I
列中的值0。 H
列包含多个 Dropdown lists
(通过数据验证得出),其值可以是 Yes 或 No:
Sub DropDownlistValue()
Dim Holidays As Worksheet
Dim Checkbox_RowCount As Long
Dim HolidayCount As Long
Set Holidays = ThisWorkbook.Sheets("Visning")
Checkbox_RowCount = Holidays.Cells(Holidays.Rows.Count, "H").End(xlUp).Row
For HolidayCount = 2 To Checkbox_RowCount
If Not IsEmpty(Holidays.Range("H" & HolidayCount)) Then
Holidays.Activate
Holidays.Range("H" & HolidayCount).Select
If ActiveCell = "YES" Then
ActiveCell.Offset(0, 1) = 1
Else
ActiveCell.Offset(0, 1) = 0
End If
End If
Next HolidayCount
End Sub
提前致谢。
您可能需要的是这一行的变化:
If ActiveCell = "YES" Then
进入
If Ucase(ActiveCell) = "YES" Then
另一个提示 - 移动此行:
Holidays.Activate
before/outside 你的循环。