פורום שאלות ותשובות

ברוכים הבאים לפורום שאלות ותשובות באופיס

ניתן לשאול שאלות טכניות באקסל, וורד, פאורפוינט, אוטלוק, שיירפוינט ושאר יישומי אופיס ללא צורך להירשם וללא עלות

א' שואל:

שלום רב,

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

אני מעוניין שבאמצעות קוד 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 -

 


 

 

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