簡體   English   中英

VBA Excel 掃描單元格范圍並填充組合框選擇

[英]VBA Excel Scanning Range of Cells and Filling With ComboBox Selection

我有一個電子表格,主要由 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 中選擇一個值,當他們選擇應用時,它將填充相應的列具有選定值的工作表。

我知道元旦不會移動,但這是概念代碼的證明,將在一年中的所有假期中復制。 任何人都可以分享有關為什么我的代碼沒有按預期填充的任何意見嗎?

謝謝各位大佬的建議。 我發現我的代碼有兩個問題。

A) 我的 TextBox 輸入格式為 01/01,需要為 1/1 才能匹配單元格。

B) 單獨的模塊無權訪問 ComboBox.Value,因此我必須將其設置為公共變量,以便它可以訪問 String 值。

 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 變量是基於 TextBox 和 ComboBox 的值在 CommandButton 按下時設置的字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM