Q:

Option Explicit does not see one undeclared variable, but works for other

For line with Debug.Print everything works fine, meaning Option Explicit catches an error and displays a pop-up about an undefined variable.
However, if I remove the Debug.Print line, which I added to see if Option Explicit works at all, code successfully executes. Compile is successful as well. It should not be, as there is a typo, "vDailBuys" instead of "vDailyBuys" in the 2nd ReDim statement.
Why isn't this typo detected?
I use the 2nd ReDim to clear array contents, nut sure if it is recommended way, but it works like a charm.
Option Explicit
Option Base 1

Sub test()

Dim vDailyBuys() As Variant

ReDim vDailyBuys(1, 10)
ReDim vDailBuys(1, UBound(vDailyBuys, 2)) As Variant
Debug.Print abcde

End Sub

A:

Very simply, with Redim vDailBuys you've declared a new variable vDailBuys, instead of your intended resizing of the original vDailyBuys.
From MSDN - Redim Statement: while "the ReDim statement is used to size or resize a dynamic array that has already been formally declared," it "acts as a declarative statement if the variable it declares doesn't exist at module level or procedure level." (emphasis mine). 
Note that the same article advocates only using Redim to redimension arrays. Though it can be a declarative statement, as it is unintentionally in your case, it can cause conflicts that Option Explicit will not flag.

