Office Forum Q&A

Welcome to our Office forum

Technical questions can be asked about Excel, Access, Word, PowerPoint, Outlook, SharePoint and other Office applications without registration and free of charge

New Question

 

א' שואל:

שלום רב,

אני בונה קובץ שעות עבודה דינאמי.

אני מעוניין שבאמצעות קוד VBA הוא יריץ לולאה בה בתאים B עד I הוא יעדכן שזה אימות נתונים מתוך בחירה מרשימה (אורך השורות ככמות הימים בחודש הספיציפי של הגיליון).

אשמח לעזרה בבקשה.

 

תשובה:

מצ"ב הצעה לפיתרון -

1. בגיליון Sheet1 נגדיר את רשימת הערכים לבחירה בתאים N1 עד N11.

 

 2. בעורך VBA נוסיף מודול חדש Module1 ונגדיר בו את הקוד הבא - 

    הקוד מוחק ולידציה קיימת בטווח B4-I30 בגיליון Sheet1 ומוסיף ולידציה של בחירת ערכים מרשימה מטווח N6-N11.

 

 

Public Sub Update_Validation()
    Application.ScreenUpdating = False
    nuOfDays = 30
    With Sheets("Sheet1")
        With .Range(.Cells(4, 2), Cells(nuOfDays, 9)).Validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=$N$6:$N$11"
            .IgnoreBlank = True
            .InCellDropdown = True
            .InputTitle = ""
            .ErrorTitle = ""
            .InputMessage = ""
            .ErrorMessage = ""
            .ShowInput = True
            .ShowError = True
        End With
    End With
    Application.ScreenUpdating = True
End Sub

 

3. נפעיל את הקוד והתוצאה היא שבגיליון Sheet1 בתאים B4 עד I30 נוספה ולידציה של בחירת ערכים מרשימת הערכים שהגדרנו בעמודה N -

 


 

 

בברכה,
 
צוות אניפיט