Sto creando una semplice interfaccia per la registrazione delle modifiche stampi della mia ditta. In poche parole sto utilizzando due fogli di lavoro, nel primo premendo un pulsante di comando mi si apre una userform dove devo inserire data-commessa-ditta-descrizione-datadiriconsegna, quindi i dati inseriti si salvano nel Foglio1 in ordine di inserimento. Questi dati però voglio che vengano copiati anche nel Foglio2 e che si dispongano in automatico in ordine dalla data di riconsegna più prossima a quella più remota, in altre parole voglio che aprendo il Foglio2 mi esca l'elenco delle modifiche che devo fare dalla più urgente alla meno urgente!
Ora il codice per salvarli nel Foglio1 funziona benissimo ma nel Foglio2 non solo non si mettono in ordine le date, ma addirittura non mi si salvano neppure i dati!
Ultima cosa le prime due righe di entrambi i fogli sono bloccate per rendere sempre visibili le intestazioni delle colonne data-commessa-ditta-descrizione-datadiriconsegna.
Ripeto ci stò diventando matto!!
Grazie mille in anticipo!
- Codice: Seleziona tutto
Private Sub CommandButton1_Click()
If TextBox1 = "" Then
MsgBox "inserire data"
TextBox1.SetFocus
Exit Sub
End If
If TextBox2 = "" Then
MsgBox "inserire commessa"
TextBox2.SetFocus
Exit Sub
End If
If TextBox3 = "" Then
MsgBox "inserire nome ditta"
TextBox3.SetFocus
Exit Sub
End If
If TextBox4 = "" Then
MsgBox "inserire tipo di modifica da eseguire"
TextBox4.SetFocus
Exit Sub
End If
If TextBox5 = "" Then
MsgBox "inserire data riconsegna"
TextBox5.SetFocus
Exit Sub
End If
Sheets("Foglio1").Select
riga = 2
While Cells(riga, 1) <> ""
riga = riga + 1
Wend
Cells(riga, 1) = TextBox1.Text
Cells(riga, 2) = TextBox2.Text
Cells(riga, 3) = TextBox3.Text
Cells(riga, 4) = TextBox4.Text
Cells(riga, 5) = TextBox5.Text
Cells(riga, 1) = CDate(TextBox1)
Cells(riga, 5) = CDate(TextBox5)
Sheets("Foglio2").Select
y = 2
While Cells(y, 1) <> ""
y = y + 1
Wend
Dim ladata As Date, x As Long
Dim paragone
paragone = Format(txt_Data, "dd/mm/yyyy")
x = 2
ladata = CDate(TextBox5)
paragone = Cells(x, 5)
While ladata >= CDate(paragone) 'IL DEBUG COMPARE QUI
x = x + 1
If x = ActiveSheet.Range("E" & Rows.Count).End(xlUp).Row + 1 Then GoTo InserisciRiga
Wend
InserisciRiga:
Range("A" & x & ":E" & x).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Cells(x, 1) = TextBox1
Cells(x, 2) = TextBox2.Text
Cells(x, 3) = TextBox3.Text
Cells(x, 4) = TextBox4.Text
Cells(x, 5) = TextBox5
End Sub