• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dlaczego makro nie działa w komórce

Aruba Cloud - Virtual Private Server VPS
+1 głos
186 wizyt
pytanie zadane 21 września 2023 w Visual Basic przez magda_19 Gaduła (3,080 p.)

Cześć,

Komórka C16 ma zawierać datę, jeśli data wypadnie na sobotę, to makro powinno wyrzucić wiadomość "Wpisałeś dzień niepracujący"

Najpierw tworzę makro, które ma wyrzucić wiadomość, a potem je przywołuję w Private Sub (). Mój kod poniżej: 

Sub blokujDate()

If (Weekday(C16, 2) > 5) Then
    MsgBox ("Wpisałeś dzień niepracujący!!!")
End If

End Sub

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "C16" Then
    Call blokujDate
End If

End Sub

Mimo wpisania date weekendowej, makro nie działa. Nie jestem pewna jak mogę przypisać makro do komórki C16

2 odpowiedzi

0 głosów
odpowiedź 21 września 2023 przez neo1020 Dyskutant (8,870 p.)

https://learn.microsoft.com/en-us/office/vba/api/excel.range(object)

aby odwołać się do komórki musisz użyć Range 

Weekday(Range("C16").Value, 2)
0 głosów
odpowiedź 21 września 2023 przez VBService Ekspert (256,500 p.)

Proponuje drugi parametr dla Weekday zostawić pusty, czyli vba użyje wartości domyślnej dla ustawień systemowych komputera i dla lepszej czytelności kodu proponuje użyć stałych vba vbSaturday i vbSunday

Sub blokujDate()
    Dim cellValue As Date
    Dim dayOfWeek As Integer

    ' Pobierz wartość z komórki C16 jako datę
    cellValue = Range("C16").Value

    ' Sprawdź, który to dzień tygodnia (1 - nie, 2 - pon, ..., 7 - sob)
    dayOfWeek = Weekday(cellValue)

    ' Sprawdź, czy to sobota lub niedziela
    If dayOfWeek = vbSaturday Or dayOfWeek = vbSunday Then
        MsgBox "Wpisałeś dzień niepracujący (" & Format(cellValue, "dddd") & ") !!!"
    End If
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$C$16" Then
        Call blokujDate
    End If
End Sub

 

Podobne pytania

0 głosów
1 odpowiedź 157 wizyt
pytanie zadane 20 września 2023 w Visual Basic przez magda_19 Gaduła (3,080 p.)
0 głosów
0 odpowiedzi 315 wizyt
pytanie zadane 26 listopada 2020 w Visual Basic przez ZenekMarjewka Nowicjusz (120 p.)
+1 głos
1 odpowiedź 455 wizyt
pytanie zadane 25 września 2020 w Visual Basic przez doeg Początkujący (430 p.)

93,264 zapytań

142,260 odpowiedzi

322,234 komentarzy

62,582 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...