I would like to speed this up if possible,

First I search for a given date and if that date does not exist, then it adds the whole year to the sheet by copying the previous formulas.

Can some of you experts take a look please.

```vb
Sub addyear()
    'check to see if there is a year in the list
    Dim counter As Integer
    Dim Place As String

    Dim rng As Range
    Dim aNumber As Long
    Dim ColsCount As Long
    Dim counting As Long
    counting = 0
    Dim rowNum As Variant

    Application.ScreenUpdating = False
    ColsCount = Sheet11.Cells(2, Sheet11.Columns.Count).End(xlToLeft).Column

    aNumber = Sheet11.Range("B9").Value

    Set rng = Sheet11.Range("2:2")

    rowNum = Application.Match(aNumber, rng, 0)

    If Not IsError(rowNum) Then
        MsgBox "Year Exists"
    Else
        aNumber = Sheet11.Range("A9").Value

        Set rng = Sheet11.Range("2:2")

        rowNum = Application.Match(aNumber, rng, 0)

        If Not IsError(rowNum) Then
            MsgBox "Year Exists"
        Else
            Do Until Not IsError(rowNum)
                Sheet11.Cells(1, ColsCount).Copy Sheet11.Cells(1, ColsCount + 1)
                Sheet11.Cells(2, ColsCount).Copy Sheet11.Cells(2, ColsCount + 1)
                Sheet11.Cells(3, ColsCount).Copy Sheet11.Cells(3, ColsCount + 1)

                ColsCount = ColsCount + 1
                counting = counting + 1
                If counting > 366 Then Application.ScreenUpdating = True: Exit Sub

                aNumber = Sheet11.Range("A9").Value

                Set rng = Sheet11.Range("2:2")

                rowNum = Application.Match(aNumber, rng, 0)
            Loop
            If Not IsError(rowNum) Then
                MsgBox "year Entered"
            End If
        End If
    End If
    Application.ScreenUpdating = True
End Sub

```