Hi

Try this.

Code:
Option Explicit

Sub kTest()
    
    Dim d, i As Long, k, q, x, r As Long
    Dim c As Long, lRow As Long, Rng As Range
    
    lRow = Sheet2.Range("b" & Sheet2.Rows.Count).End(3).Row
    Set Rng = Sheet2.Range("b5:n" & lRow)
    d = Rng.Value2
    q = Application.Index(d, 0, 1)
    k = Sheet1.Range("b6:n11").Value2
    
    x = Application.Match(k(1, 1), q, 0)
    If Not IsError(x) Then
        If Len(d(x, 2)) * Len(d(x, 3)) Then 'check 2 columns whether they have data in those cells
            MsgBox "It seems data already been entered for date " & CDate(k(1, 1))
            Exit Sub
        Else
            For r = 1 To UBound(k, 1)
                For c = 1 To UBound(k, 2)
                    d(r + x - 1, c) = k(r, c)
                Next
            Next
        End If
    Else
        Set Rng = Sheet2.Range("b5:n" & lRow + 7)
        d = Rng.Value2
        For r = 1 To UBound(k, 1)
            For c = 1 To UBound(k, 2)
                d(UBound(d, 1) - UBound(k, 1) + r, c) = k(r, c)
            Next
        Next
    End If
    Rng = d
    Rng.Columns(1).NumberFormat = "m/d/yyyy"
    Sheet1.Range("c6:n10").ClearContents
    
End Sub