2017-10-21 39 views
0

Je travaille dans un classeur ayant deux feuilles nommées "Data" et "Daily". Je veux juste que mon code enregistre de nouvelles entrées dans la feuille quotidienne, mais au lieu de le faire, il enregistre dans la feuille active. Je serai reconnaissant si quelqu'un peut résoudre ce problème.Comment éviter que mon codage ne sauvegarde pas de données sur une feuille active?

Voici mon code:

Private Sub CommandButton1_Click() 'Saving Button 
    Dim sonsat As Long 

    sonsat = Sheets("Daily").Cells(Rows.Count, 1).End(xlUp).Row + 1 
    Call Main 'Progress Bar 

    Cells(sonsat, 1) = TextBox1 
    Cells(sonsat, 2) = TextBox2 
    Cells(sonsat, 3) = TextBox3 
    Cells(sonsat, 4) = TextBox4 
    Cells(sonsat, 5) = TextBox5 

    MsgBox "Registration is successful" 
    ListBox1.List = Sheets("Daily").Range("A2:E" & Cells(Rows.Count, 1).End(xlUp).Row).Value 'For refresh listbox 
    TextBox14.Value = ListBox1.ListCount 
End Sub 

Répondre

1

Essayez d'ajouter une référence à la feuille quotidienne de cette façon:

With Sheets("Daily") 
    .Cells(sonsat, 1) = TextBox1 'dot at the beginning is very important... 
    .Cells(sonsat, 2) = TextBox2 
    .Cells(sonsat, 3) = TextBox3 
    .Cells(sonsat, 4) = TextBox4 
    .Cells(sonsat, 5) = TextBox5 
end with 
+0

Merci Cher :) – Yasir