Criei este código que Lança varias linhas ao mesmo tempo

Como faço para melhorar o código abaixo, pois esta muito lento, ele lança as linhas mesmos as vazias e depois apaga apenas as vazias na planilha destino, isso esta muito lento.

Sub Lançalivocaixa_Clique()
Dim produtos As ListObject
Dim novoproduto As ListRow
Application.ScreenUpdating = False

'Lança dados no livrocaixa
Worksheets(“livrocaixa”).Unprotect “212132”

    Set produtos = Sheets("livrocaixa").ListObjects("TBlivrocaixa")
    Set novoproduto = produtos.ListRows.Add
   

    'Linha 1 até linha 13 lança despesas
    novoproduto.Range(1, 1) = CDate(Sheets("Cadastro").Range("C3"))
    novoproduto.Range(1, 2) = CDate(Sheets("Cadastro").Range("C5"))
    novoproduto.Range(1, 3) = Sheets("cadastro").Range("C7")
    novoproduto.Range(1, 4) = Sheets("cadastro").Range("C9")
    novoproduto.Range(1, 5) = Sheets("cadastro").Range("e15")
    novoproduto.Range(1, 6) = Sheets("cadastro").Range("g15")
    novoproduto.Range(1, 7) = Sheets("cadastro").Range("i15") * -1
    novoproduto.Range(1, 8) = Sheets("cadastro").Range("k15")
    
    novoproduto.Range(2, 1) = CDate(Sheets("Cadastro").Range("C3"))
    novoproduto.Range(2, 2) = CDate(Sheets("Cadastro").Range("C5"))
    novoproduto.Range(2, 3) = Sheets("cadastro").Range("C7")
    novoproduto.Range(2, 4) = Sheets("cadastro").Range("C9")
    novoproduto.Range(2, 5) = Sheets("cadastro").Range("e17")
    novoproduto.Range(2, 6) = Sheets("cadastro").Range("g17")
    novoproduto.Range(2, 7) = Sheets("cadastro").Range("i17") * -1
    novoproduto.Range(2, 8) = Sheets("cadastro").Range("k17")
   
    novoproduto.Range(3, 1) = CDate(Sheets("Cadastro").Range("C3"))
    novoproduto.Range(3, 2) = CDate(Sheets("Cadastro").Range("C5"))
    novoproduto.Range(3, 3) = Sheets("cadastro").Range("C7")
    novoproduto.Range(3, 4) = Sheets("cadastro").Range("C9")
    novoproduto.Range(3, 5) = Sheets("cadastro").Range("e19")
    novoproduto.Range(3, 6) = Sheets("cadastro").Range("g19")
    novoproduto.Range(3, 7) = Sheets("cadastro").Range("i19") * -1
    novoproduto.Range(3, 8) = Sheets("cadastro").Range("k19")
   
    novoproduto.Range(4, 1) = CDate(Sheets("Cadastro").Range("C3"))
    novoproduto.Range(4, 2) = CDate(Sheets("Cadastro").Range("C5"))
    novoproduto.Range(4, 3) = Sheets("cadastro").Range("C7")
    novoproduto.Range(4, 4) = Sheets("cadastro").Range("C9")
    novoproduto.Range(4, 5) = Sheets("cadastro").Range("e21")
    novoproduto.Range(4, 6) = Sheets("cadastro").Range("g21")
    novoproduto.Range(4, 7) = Sheets("cadastro").Range("i21") * -1
    novoproduto.Range(4, 8) = Sheets("cadastro").Range("k21")
    
    novoproduto.Range(5, 1) = CDate(Sheets("Cadastro").Range("C3"))
    novoproduto.Range(5, 2) = CDate(Sheets("Cadastro").Range("C5"))
    novoproduto.Range(5, 3) = Sheets("cadastro").Range("C7")
    novoproduto.Range(5, 4) = Sheets("cadastro").Range("C9")
    novoproduto.Range(5, 5) = Sheets("cadastro").Range("e23")
    novoproduto.Range(5, 6) = Sheets("cadastro").Range("g23")
    novoproduto.Range(5, 7) = Sheets("cadastro").Range("i23") * -1
    novoproduto.Range(5, 8) = Sheets("cadastro").Range("k23")
    
    novoproduto.Range(6, 1) = CDate(Sheets("Cadastro").Range("C3"))
    novoproduto.Range(6, 2) = CDate(Sheets("Cadastro").Range("C5"))
    novoproduto.Range(6, 3) = Sheets("cadastro").Range("C7")
    novoproduto.Range(6, 4) = Sheets("cadastro").Range("C9")
    novoproduto.Range(6, 5) = Sheets("cadastro").Range("e25")
    novoproduto.Range(6, 6) = Sheets("cadastro").Range("g25")
    novoproduto.Range(6, 7) = Sheets("cadastro").Range("i25") * -1
    novoproduto.Range(6, 8) = Sheets("cadastro").Range("k25")
    
    novoproduto.Range(7, 1) = CDate(Sheets("Cadastro").Range("C3"))
    novoproduto.Range(7, 2) = CDate(Sheets("Cadastro").Range("C5"))
    novoproduto.Range(7, 3) = Sheets("cadastro").Range("C7")
    novoproduto.Range(7, 4) = Sheets("cadastro").Range("C9")
    novoproduto.Range(7, 5) = Sheets("cadastro").Range("e27")
    novoproduto.Range(7, 6) = Sheets("cadastro").Range("g27")
    novoproduto.Range(7, 7) = Sheets("cadastro").Range("i27") * -1
    novoproduto.Range(7, 8) = Sheets("cadastro").Range("k27")
    
    novoproduto.Range(8, 1) = CDate(Sheets("Cadastro").Range("C3"))
    novoproduto.Range(8, 2) = CDate(Sheets("Cadastro").Range("C5"))
    novoproduto.Range(8, 3) = Sheets("cadastro").Range("C7")
    novoproduto.Range(8, 4) = Sheets("cadastro").Range("C9")
    novoproduto.Range(8, 5) = Sheets("cadastro").Range("e29")
    novoproduto.Range(8, 6) = Sheets("cadastro").Range("g29")
    novoproduto.Range(8, 7) = Sheets("cadastro").Range("i29") * -1
    novoproduto.Range(8, 8) = Sheets("cadastro").Range("k29")
    
    novoproduto.Range(9, 1) = CDate(Sheets("Cadastro").Range("C3"))
    novoproduto.Range(9, 2) = CDate(Sheets("Cadastro").Range("C5"))
    novoproduto.Range(9, 3) = Sheets("cadastro").Range("C7")
    novoproduto.Range(9, 4) = Sheets("cadastro").Range("C9")
    novoproduto.Range(9, 5) = Sheets("cadastro").Range("e31")
    novoproduto.Range(9, 6) = Sheets("cadastro").Range("g31")
    novoproduto.Range(9, 7) = Sheets("cadastro").Range("i31") * -1
    novoproduto.Range(9, 8) = Sheets("cadastro").Range("k31")
    
    novoproduto.Range(10, 1) = CDate(Sheets("Cadastro").Range("C3"))
    novoproduto.Range(10, 2) = CDate(Sheets("Cadastro").Range("C5"))
    novoproduto.Range(10, 3) = Sheets("cadastro").Range("C7")
    novoproduto.Range(10, 4) = Sheets("cadastro").Range("C9")
    novoproduto.Range(10, 5) = Sheets("cadastro").Range("e33")
    novoproduto.Range(10, 6) = Sheets("cadastro").Range("g33")
    novoproduto.Range(10, 7) = Sheets("cadastro").Range("i33") * -1
    novoproduto.Range(10, 8) = Sheets("cadastro").Range("k33")
    
    novoproduto.Range(11, 1) = CDate(Sheets("Cadastro").Range("C3"))
    novoproduto.Range(11, 2) = CDate(Sheets("Cadastro").Range("C5"))
    novoproduto.Range(11, 3) = Sheets("cadastro").Range("C7")
    novoproduto.Range(11, 4) = Sheets("cadastro").Range("C9")
    novoproduto.Range(11, 5) = Sheets("cadastro").Range("e35")
    novoproduto.Range(11, 6) = Sheets("cadastro").Range("g35")
    novoproduto.Range(11, 7) = Sheets("cadastro").Range("i35") * -1
    novoproduto.Range(11, 8) = Sheets("cadastro").Range("k35")
    
    novoproduto.Range(12, 1) = CDate(Sheets("Cadastro").Range("C3"))
    novoproduto.Range(12, 2) = CDate(Sheets("Cadastro").Range("C5"))
    novoproduto.Range(12, 3) = Sheets("cadastro").Range("C7")
    novoproduto.Range(12, 4) = Sheets("cadastro").Range("C9")
    novoproduto.Range(12, 5) = Sheets("cadastro").Range("e37")
    novoproduto.Range(12, 6) = Sheets("cadastro").Range("g37")
    novoproduto.Range(12, 7) = Sheets("cadastro").Range("i37") * -1
    novoproduto.Range(12, 8) = Sheets("cadastro").Range("k37")
    
    novoproduto.Range(13, 1) = CDate(Sheets("Cadastro").Range("C3"))
    novoproduto.Range(13, 2) = CDate(Sheets("Cadastro").Range("C5"))
    novoproduto.Range(13, 3) = Sheets("cadastro").Range("C7")
    novoproduto.Range(13, 4) = Sheets("cadastro").Range("C9")
    novoproduto.Range(13, 5) = Sheets("cadastro").Range("e39")
    novoproduto.Range(13, 6) = Sheets("cadastro").Range("g39")
    novoproduto.Range(13, 7) = Sheets("cadastro").Range("i39") * -1
    novoproduto.Range(13, 8) = Sheets("cadastro").Range("k39")
    
    ' Esse o código abaixo faz o lançamento da diferença no livro caixa
    novoproduto.Range(14, 1) = CDate(Sheets("Cadastro").Range("C3"))
    novoproduto.Range(14, 2) = CDate(Sheets("Cadastro").Range("C5"))
    novoproduto.Range(14, 3) = Sheets("cadastro").Range("C7")
    novoproduto.Range(14, 4) = Sheets("cadastro").Range("C9")
    novoproduto.Range(14, 5) = Sheets("cadastro").Range("e11")
    novoproduto.Range(14, 6) = Sheets("cadastro").Range("g13")
    novoproduto.Range(14, 7) = Sheets("cadastro").Range("g13")
    
    'Lança comissão de bolão no livro caixa
    novoproduto.Range(15, 1) = CDate(Sheets("Cadastro").Range("C3"))
    novoproduto.Range(15, 2) = CDate(Sheets("Cadastro").Range("C5"))
    novoproduto.Range(15, 3) = Sheets("cadastro").Range("C7")
    novoproduto.Range(15, 4) = Sheets("cadastro").Range("C9")
    novoproduto.Range(15, 5) = Sheets("cadastro").Range("e7")
    novoproduto.Range(15, 6) = Sheets("cadastro").Range("g7")
       
    'Lança Encalhe de bolão no livro caixa
    novoproduto.Range(16, 1) = CDate(Sheets("Cadastro").Range("C3"))
    novoproduto.Range(16, 2) = CDate(Sheets("Cadastro").Range("C5"))
    novoproduto.Range(16, 3) = Sheets("cadastro").Range("C7")
    novoproduto.Range(16, 4) = Sheets("cadastro").Range("C9")
    novoproduto.Range(16, 5) = Sheets("cadastro").Range("a21")
    novoproduto.Range(16, 7) = Sheets("cadastro").Range("c21") * -1
    
    'Lança Encalhe de Federal no livro caixa
    novoproduto.Range(17, 1) = CDate(Sheets("Cadastro").Range("C3"))
    novoproduto.Range(17, 2) = CDate(Sheets("Cadastro").Range("C5"))
    novoproduto.Range(17, 3) = Sheets("cadastro").Range("C7")
    novoproduto.Range(17, 4) = Sheets("cadastro").Range("C9")
    novoproduto.Range(17, 5) = Sheets("cadastro").Range("a23")
    novoproduto.Range(17, 7) = Sheets("cadastro").Range("c23") * -1
    
    
    'Lança Venda de federal do dia no livro caixa
    novoproduto.Range(18, 1) = CDate(Sheets("Cadastro").Range("C3"))
    novoproduto.Range(18, 2) = CDate(Sheets("Cadastro").Range("C5"))
    novoproduto.Range(18, 3) = Sheets("cadastro").Range("C7")
    novoproduto.Range(18, 4) = Sheets("cadastro").Range("C9")
    novoproduto.Range(18, 5) = Sheets("cadastro").Range("a29")
    novoproduto.Range(18, 6) = Sheets("cadastro").Range("c29")
   
    
    'Lança Outras vendas no livro caixa
    novoproduto.Range(19, 1) = CDate(Sheets("Cadastro").Range("C3"))
    novoproduto.Range(19, 2) = CDate(Sheets("Cadastro").Range("C5"))
    novoproduto.Range(19, 3) = Sheets("cadastro").Range("C7")
    novoproduto.Range(19, 4) = Sheets("cadastro").Range("C9")
    novoproduto.Range(19, 5) = Sheets("cadastro").Range("a31")
    novoproduto.Range(19, 7) = Sheets("cadastro").Range("c31")
   
    
    'Lança Entrada de Federal no caixa, no livro caixa
    novoproduto.Range(20, 1) = CDate(Sheets("Cadastro").Range("C3"))
    novoproduto.Range(20, 2) = CDate(Sheets("Cadastro").Range("C5"))
    novoproduto.Range(20, 3) = Sheets("cadastro").Range("C7")
    novoproduto.Range(20, 4) = Sheets("cadastro").Range("C9")
    novoproduto.Range(20, 5) = Sheets("cadastro").Range("a33")
    novoproduto.Range(20, 6) = Sheets("cadastro").Range("c33")
   
    
     'Lança Saída de Federal do caixa, no livro caixa
    novoproduto.Range(21, 1) = CDate(Sheets("Cadastro").Range("C3"))
    novoproduto.Range(21, 2) = CDate(Sheets("Cadastro").Range("C5"))
    novoproduto.Range(21, 3) = Sheets("cadastro").Range("C7")
    novoproduto.Range(21, 4) = Sheets("cadastro").Range("C9")
    novoproduto.Range(21, 5) = Sheets("cadastro").Range("a35")
    novoproduto.Range(21, 7) = Sheets("cadastro").Range("c35") * -1
          
    'Lança Entrada de Dinheiro do troco no caixa, no livro caixa = Saída de dinheiro do troco para o caixa corrigido
    novoproduto.Range(22, 1) = CDate(Sheets("Cadastro").Range("C3"))
    novoproduto.Range(22, 2) = CDate(Sheets("Cadastro").Range("C5"))
    novoproduto.Range(22, 3) = Sheets("cadastro").Range("C7")
    novoproduto.Range(22, 4) = Sheets("cadastro").Range("C9")
    novoproduto.Range(22, 5) = Sheets("cadastro").Range("a37")
    novoproduto.Range(22, 7) = Sheets("cadastro").Range("c37") * -1
    
    'Lança Sáida de Dinheiro no caixa para troco, no livro caixa = Entrada de dinheiro no troco corrigido
    novoproduto.Range(23, 1) = CDate(Sheets("Cadastro").Range("C3"))
    novoproduto.Range(23, 2) = CDate(Sheets("Cadastro").Range("C5"))
    novoproduto.Range(23, 3) = Sheets("cadastro").Range("C7")
    novoproduto.Range(23, 4) = Sheets("cadastro").Range("C9")
    novoproduto.Range(23, 5) = Sheets("cadastro").Range("a39")
    novoproduto.Range(23, 7) = Sheets("cadastro").Range("c39") * -1
    
    'Lança Comissão de jogos, no livro caixa
    novoproduto.Range(24, 1) = CDate(Sheets("Cadastro").Range("C3"))
    novoproduto.Range(24, 2) = CDate(Sheets("Cadastro").Range("C5"))
    novoproduto.Range(24, 3) = Sheets("cadastro").Range("C7")
    novoproduto.Range(24, 4) = Sheets("cadastro").Range("C9")
    novoproduto.Range(24, 5) = Sheets("cadastro").Range("e9")
    novoproduto.Range(24, 6) = Sheets("cadastro").Range("g9")
   
    'Lança Saída de Dinheiro do troco para o caixa, no livro caixa
    novoproduto.Range(25, 1) = CDate(Sheets("Cadastro").Range("C3"))
    novoproduto.Range(25, 2) = CDate(Sheets("Cadastro").Range("C5"))
    novoproduto.Range(25, 3) = Sheets("cadastro").Range("C7")
    novoproduto.Range(25, 4) = Sheets("cadastro").Range("C9")
    novoproduto.Range(25, 5) = Sheets("cadastro").Range("a37")
    novoproduto.Range(25, 6) = Sheets("cadastro").Range("c37")
    
                'Lança Venda de consignado, no livro caixa
    novoproduto.Range(26, 1) = CDate(Sheets("Cadastro").Range("C3"))
    novoproduto.Range(26, 2) = CDate(Sheets("Cadastro").Range("C5"))
    novoproduto.Range(26, 3) = Sheets("cadastro").Range("C7")
    novoproduto.Range(26, 4) = Sheets("cadastro").Range("C9")
    novoproduto.Range(26, 6) = Sheets("cadastro").Range("g11")
    
    'Lança Entrada de Dinheiro do troco no caixa, no livro caixa
    novoproduto.Range(27, 1) = CDate(Sheets("Cadastro").Range("C3"))
    novoproduto.Range(27, 2) = CDate(Sheets("Cadastro").Range("C5"))
    novoproduto.Range(27, 3) = Sheets("cadastro").Range("C7")
    novoproduto.Range(27, 4) = Sheets("cadastro").Range("C9")
    novoproduto.Range(27, 5) = Sheets("cadastro").Range("a39")
    novoproduto.Range(27, 6) = Sheets("cadastro").Range("c39")


    
   'Lança Saída de Dinheiro no caixa, no livro caixa
    If Sheets("cadastro").Range("c39") > 0 Then
    novoproduto.Range(27, 5) = "Entrada de dinheiro do Caixa para troco"
    End If

            'Lança Venda de consignado, no livro caixa
    If Sheets("cadastro").Range("g11") > 0 Then
    novoproduto.Range(26, 5) = "Venda de consignado"
    End If
                            'Lança Entrada de Dinheiro no troco, no livro caixa
    If Sheets("cadastro").Range("c37") > 0 Then
    novoproduto.Range(25, 5) = "Saída de Dinheiro do troco para caixa"
    End If
            'Lança Comissão de jogos, no livro caixa
    If Sheets("cadastro").Range("g9") > 0 Then
    novoproduto.Range(24, 5) = "Comissão de jogos 8,61%"
    End If

                    'Lança Entrada de Dinheiro no caixa, no livro caixa
    If Sheets("cadastro").Range("c37") > 0 Then
    novoproduto.Range(22, 5) = "Entrada de Dinheiro do troco no Caixa"
    End If

            'Lança Saída de dinheiro do Caixa para troco, no livro caixa
    If Sheets("cadastro").Range("c39") > 0 Then
    novoproduto.Range(23, 5) = "Saída de dinheiro do Caixa para troco"
    End If

    'Lança Saída de Federal no caixa, no livro caixa
    If Sheets("cadastro").Range("c35") > 0 Then
    novoproduto.Range(21, 5) = "Saída de Federal no Caixa"
    End If

    'Lança Entrada de Federal no caixa, no livro caixa
    If Sheets("cadastro").Range("c33") > 0 Then
    novoproduto.Range(20, 5) = "Entrada de Federal no Caixa"
    End If

    'Lança Outras vendas no livro caixa
    If Sheets("cadastro").Range("c31") > 0 Then
    novoproduto.Range(19, 5) = "Outras vendas"
    End If

    'Lança Venda de federal do dia livro caixa
    If Sheets("cadastro").Range("c29") > 0 Then
    novoproduto.Range(18, 5) = "Venda de federal do dia"
    End If

    'Lança Encalhe de Federal no livro caixa
    If Sheets("cadastro").Range("c23") > 0 Then
    novoproduto.Range(17, 5) = "Encalhe de Federal"
    End If

    'Lança Encalhe de bolão no livro caixa
    If Sheets("cadastro").Range("c21") > 0 Then
    novoproduto.Range(16, 5) = "Encalhe de Bolões"
    End If

    'Lança comissão de bolão no livro caixa
    If Sheets("cadastro").Range("g7") > 0 Then
    novoproduto.Range(15, 5) = "Comissão de bolão 35%"
    End If

    ' Esse o código abaixo faz o lançamento da diferença no livro caixa
    If Sheets("cadastro").Range("g13") > 0 Then
    novoproduto.Range(14, 5) = "Sobra de caixa"
    End If

    If Sheets("cadastro").Range("g13") < 0 Then
    novoproduto.Range(14, 5) = "Falta de caixa"
    End If

    If Sheets("cadastro").Range("g13") > 0 Then
    novoproduto.Range(14, 6) = Sheets("cadastro").Range("g13")
    End If

    If Sheets("cadastro").Range("g13") < 0 Then
    novoproduto.Range(14, 6) = ""
    End If

    If Sheets("cadastro").Range("g13") < 0 Then
    novoproduto.Range(14, 7) = Sheets("cadastro").Range("g13")
    End If

    If Sheets("cadastro").Range("g13") > 0 Then
    novoproduto.Range(14, 7) = ""
    End If
    
Application.ScreenUpdating = True
    
End Sub

    'Este código abaixo apaga as linhas em branco da planilha livro caixa

Sub ApagarLinhasLivrocaixa()
Application.ScreenUpdating = False

Dim lLin As Long

'Altere o nome da planilha abaixo:
     With Sheets("livrocaixa")
    For lLin = .Cells(.Rows.Count, "e").End(xlUp).Row To 2 Step -1

        If .Cells(lLin, "e") = "" Then .Rows(lLin).Delete 'Deletar se vazio
        
        'Desafoga os processos pendentes do Windows a cada 100 linhas iteradas:
        
        If lLin Mod 100 = 0 Then DoEvents
    Next lLin
    Exit Sub
End With

'end sub
Worksheets(“livrocaixa”).Protect “212132”
Application.ScreenUpdating = True
End Sub