我有一张电子表格,主要由12张纸张组成,对应于1月至12月。我试图根据日期的TextBox条目和ComboBox选择的值来填写特定日期的工作表。每张纸在一个单独的范围内有6周的时间。我希望扫描特定日期的所有范围,并使用基于ComboBox选择的值从找到的值向下填充14个单元格。 NewYearsHoliday是MM / DD / YYYY格式的字符串值,相当于正在扫描的值单元格。正在扫描的单元格是Excel中的日期格式。范围对应于显示日期的单元格。 ComboBox根据另一个工作表上的OffSet值填充了DefinedName选项列表。
Sub Holiday()
'Select Sheet
Sheets("Jan").Select
'Scan Cells for Dates Within Range
For Each Cell In ActiveSheet.Range("B3:H3,B19:H19,B35:H35,B51:H51,B67:H67,B83:H83")
'Set Column Value Based On ComboBox Selection
If Cell.Value = NewYearsHoliday Then
Cell.Select
ActiveCell.Offset(1, 0).Resize(14, 1).Select
Selection.Value = ComboBoxNewYears.Value
End If
Next
End Sub
我想允许用户使用MM / DD格式在TextBox中指定日期我会将其与在另一个TextBox中选择的Year组合,然后他们可以从ComboBox中选择一个值,当他们选择应用时,它将填充工作表中具有所选值的相应列。
我知道新年不会移动,但这是概念代码的证明,这些代码将在今年的所有假期中重复。任何人都可以分享我的代码未填充的原因吗?
答案 0 :(得分:0)
谢谢你的建议。我发现我的代码存在两个问题。
Sub Holiday()
'Select Sheet
Sheets("Jan").Select
'Scan Cells for Dates Within Range
For Each Cell In ActiveSheet.Range("B3:H3,B19:H19,B35:H35,B51:H51,B67:H67,B83:H83")
'Set Column Value Based On ComboBox Select
If Cell.Value = NewYearsHoliday Then
Cell.Select
ActiveCell.Offset(1, 0).Resize(14, 1).Select
Selection.Value = NewYearsHolidaySelection
End If
Next
End Sub
作为参考,NewYearsHoliday和NewYearsHolidaySelection变量是在CommandButton印刷机上根据TextBox和ComboBox的值设置的字符串。