| | Post: 3 | Registrato il: 30/12/2016
| Città: ZERO BRANCO | Età: 38 | Utente Junior | EXCEL 2013 | | OFFLINE | |
|
02/01/2017 19:11 | |
Ciao a tutti ho un problema con questo codice:
Private Sub CmdInserisci_Click()
Dim iRisposta As Integer
Dim iRow As Integer
iRow = 1
While Cells(iRow, 1).Value <> ""
iRow = iRow + 1
Wend
iRisposta = MsgBox("Vuoi stampare la ricevuta?", vbYesNoCancel)
Select Case iRisposta
Case vbYes
Cells(iRow, 1) = TextBoxNumeroRicevuta
Cells(iRow, 2) = CDate(TextBoxData)
Cells(iRow, 3) = TextBox2
Cells(iRow, 4) = TextBoxNome
Cells(iRow, 5) = CCur(ComboBoxTotale)
Cells(iRow, 6) = ComboBoxCorso
Cells(iRow, 7) = ComboBoxMese
Call STAMPA
Case vbNo
Cells(iRow, 1) = TextBoxNumeroRicevuta
Cells(iRow, 2) = CDate(TextBoxData)
Cells(iRow, 3) = TextBox2
Cells(iRow, 4) = TextBoxNome
Cells(iRow, 5) = CCur(ComboBoxTotale)
Cells(iRow, 6) = ComboBoxCorso
Cells(iRow, 7) = ComboBoxMese
Case vbCancel
Exit Sub
Case Else
End Select
TextBoxNumeroRicevuta = Cells(Rows.Count, 1).End(xlUp).Row
TextBoxData = ""
TextBoxNome = ""
TextBox2 = ""
ComboBoxCorso = ""
ComboBoxTotale = ""
ComboBoxMese = ""
End Sub
vorrei modificare il comanda call STAMPA con inserisci nel foglio MASTER RICEVUTE i vari dati in questo modo:
TextBoxNumeroRicevuta in J2
TextBoxData in J4
TextBoxNome in D7
TextBox2 in D9
ComboBoxCorso in D12
ComboBoxTotale in J18
ComboBoxMese in E14
dopo aver fatto ciò dovrebbe mandare in stampa il foglio compilato e rimanere sempre sulla userform di inserimento record.
Allego anche il file tipo. |
|
| | Post: 3.562 | Registrato il: 13/03/2012
| Città: LIVORNO | Età: 78 | Utente Master | 2010 | | OFFLINE | |
|
02/01/2017 20:11 | |
Ciao, aspetto sempre un riscontro a http://www.freeforumzone.com/d/11339499/Numerazione-progressiva-in-textbox-all-avvio-di-una-userform-ed-incremento-numero-della-textbox-dopo/discussione.aspx
----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta |
| | Post: 3 | Registrato il: 30/12/2016
| Città: ZERO BRANCO | Età: 38 | Utente Junior | EXCEL 2013 | | OFFLINE | |
|
02/01/2017 20:21 | |
Si scusami hai ragione provvedo subito. |
| | Post: 3.563 | Registrato il: 13/03/2012
| Città: LIVORNO | Età: 78 | Utente Master | 2010 | | OFFLINE | |
|
03/01/2017 08:32 | |
Private Sub CmdInserisci_Click()
Dim iRisposta As Integer
Dim iRow As Integer
iRow = 1
While Cells(iRow, 1).Value <> ""
iRow = iRow + 1
Wend
Cells(iRow, 1) = TextBoxNumeroRicevuta
Cells(iRow, 2) = CDate(TextBoxData)
Cells(iRow, 3) = TextBox2
Cells(iRow, 4) = TextBoxNome
Cells(iRow, 5) = CCur(ComboBoxTotale)
Cells(iRow, 6) = ComboBoxCorso
Cells(iRow, 7) = ComboBoxMese
TextBoxNumeroRicevuta = Cells(Rows.Count, 1).End(xlUp).Row
TextBoxData = ""
TextBoxNome = ""
TextBox2 = ""
ComboBoxCorso = ""
ComboBoxTotale = ""
ComboBoxMese = ""
iRisposta = MsgBox("Vuoi stampare la ricevuta?")
If iRisposta = vbYes Then
With Sheets("MASTER RICEVUTE")
.Range("J2") = TextBoxNumeroRicevuta
.Range("J4") = CDate(TextBoxData)
.Range("D9") = TextBox2
.Range("D7") = TextBoxNome
.Range("J18") = CCur(ComboBoxTotale)
.Range("D12") = ComboBoxCorso
.Range("E14") = ComboBoxMese
End With
Call STAMPA
End If
End Sub
----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta |
| | Post: 5 | Registrato il: 30/12/2016
| Città: ZERO BRANCO | Età: 38 | Utente Junior | EXCEL 2013 | | OFFLINE | |
|
03/01/2017 10:00 | |
Ciao Patel45, guardando il tuo codice, da inesperto credo che tu abbia dimenticato il comando per il comando no ed cancella, se non erro basta che modifico solo il codice all'altezza del comando si, giusto? |
| | Post: 3.565 | Registrato il: 13/03/2012
| Città: LIVORNO | Età: 78 | Utente Master | 2010 | | OFFLINE | |
|
03/01/2017 10:29 | |
non ho capito
----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta |
| | Post: 6 | Registrato il: 30/12/2016
| Città: ZERO BRANCO | Età: 38 | Utente Junior | EXCEL 2013 | | OFFLINE | |
|
03/01/2017 15:18 | |
Patel45 ho provato il tuo codice ma come sospettavo non fa quello di cui ho bisogno perchè se osservi il mio codice originale ho tre opzioni, la prima si, la seconda no e la terza annulla:
La prima (SI) deve compiere le seguenti istruzioni, compilate nel foglio di riferimento la riga libera (come vedi dal mio file originale) poi andare a compilare il foglio master ricevute ed aprire l'anteprima di stampa così che poi io possa stamparla;
La seconda (NO) deve solo compilare il foglio nella prima riga libera;
La terza (ANNULLA) esce dal messaggio senza compiere azioni e rimane sulla userform.
Spero di essere stato più chiaro possibile. |
| | Post: 3.566 | Registrato il: 13/03/2012
| Città: LIVORNO | Età: 78 | Utente Master | 2010 | | OFFLINE | |
|
03/01/2017 15:28 | |
ok, ma il sì funziona come volevi ?
----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta |
| | Post: 7 | Registrato il: 30/12/2016
| Città: ZERO BRANCO | Età: 38 | Utente Junior | EXCEL 2013 | | OFFLINE | |
|
03/01/2017 15:42 | |
No fa solo la prima parte è non inserisce i dati nel foglio MASTER RICEVUTE e non apre l'anteprima di stampa. |
| | Post: 3.567 | Registrato il: 13/03/2012
| Città: LIVORNO | Età: 78 | Utente Master | 2010 | | OFFLINE | |
|
03/01/2017 18:47 | |
prova questa
Private Sub CmdInserisci_Click()
Dim iRisposta As Integer
Dim iRow As Integer
iRow = 1
While Cells(iRow, 1).Value <> ""
iRow = iRow + 1
Wend
TextBoxNumeroRicevuta = Cells(Rows.Count, 1).End(xlUp).Row
iRisposta = MsgBox("Vuoi stampare la ricevuta?", vbYesNoCancel)
If iRisposta = vbYes Then
With Sheets("MASTER RICEVUTE")
.Range("J2") = TextBoxNumeroRicevuta
.Range("J4") = CDate(TextBoxData)
.Range("D9") = TextBox2
.Range("D7") = TextBoxNome
.Range("J18") = CCur(ComboBoxTotale)
.Range("D12") = ComboBoxCorso
.Range("E14") = ComboBoxMese
End With
End If
If iRisposta = vbYes Or iRisposta = vbNo Then
Cells(iRow, 1) = TextBoxNumeroRicevuta
Cells(iRow, 2) = CDate(TextBoxData)
Cells(iRow, 3) = TextBox2
Cells(iRow, 4) = TextBoxNome
Cells(iRow, 5) = CCur(ComboBoxTotale)
Cells(iRow, 6) = ComboBoxCorso
Cells(iRow, 7) = ComboBoxMese
TextBoxData = ""
TextBoxNome = ""
TextBox2 = ""
ComboBoxCorso = ""
ComboBoxTotale = ""
ComboBoxMese = ""
End If
If iRisposta = vbYes Then
UserForm1.Hide
Call STAMPA
UserForm1.Show
End If
End Sub
----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta |
| | Post: 8 | Registrato il: 30/12/2016
| Città: ZERO BRANCO | Età: 38 | Utente Junior | EXCEL 2013 | | OFFLINE | |
|
03/01/2017 21:32 | |
Ciao Patel45, con l'ultimo codice ci siamo quasi perchè quasi?
Semplice perchè quando il codice lancia la stampa lancia la stampa del elenco record e non quello del foglio che voglio io che si chiama MASTER RICEVUTE.
Ho provato a specificargli il foglio ma non lo prende forse sbaglio qualcosa mi potresti aiutare ancora indicandomi come posso fare per dirgli si stampare non il soglio attivo ma bensì un altro foglio della stessa cartella???
ho apportato una piccolissima modifica al codice:
Private Sub CmdInserisci_Click()
Dim iRisposta As Integer
Dim iRow As Integer
iRow = 1
While Cells(iRow, 1).Value <> ""
iRow = iRow + 1
Wend
TextBoxNumeroRicevuta = Cells(Rows.Count, 1).End(xlUp).Row
iRisposta = MsgBox("Vuoi stampare la ricevuta?", vbYesNoCancel)
If iRisposta = vbYes Then
With Sheets("MASTER RICEVUTE")
.Range("J2") = TextBoxNumeroRicevuta
.Range("J4") = CDate(TextBoxData)
.Range("D9") = TextBox2
.Range("D7") = TextBoxNome
.Range("J18") = CCur(ComboBoxTotale)
.Range("D12") = ComboBoxCorso
.Range("E14") = ComboBoxMese
End With
End If
If iRisposta = vbYes Or iRisposta = vbNo Then
Cells(iRow, 1) = TextBoxNumeroRicevuta
Cells(iRow, 2) = CDate(TextBoxData)
Cells(iRow, 3) = TextBox2
Cells(iRow, 4) = TextBoxNome
Cells(iRow, 5) = CCur(ComboBoxTotale)
Cells(iRow, 6) = ComboBoxCorso
Cells(iRow, 7) = ComboBoxMese
TextBoxData = ""
TextBoxNome = ""
TextBox2 = ""
ComboBoxCorso = ""
ComboBoxTotale = ""
ComboBoxMese = ""
TextBoxNumeroRicevuta = Cells(Rows.Count, 1).End(xlUp).Row
End If
If iRisposta = vbYes Then
UserForm1.Hide
Call STAMPA
UserForm1.Show
End If
End Sub |
| | Post: 9 | Registrato il: 30/12/2016
| Città: ZERO BRANCO | Età: 38 | Utente Junior | EXCEL 2013 | | OFFLINE | |
|
03/01/2017 21:49 | |
Forse ho trovato l'errore ma non capisco come correggerlo, il mio comando STAMPA è questo:
Sub STAMPA()
'Worksheets("MASTER RICEVUTE").PrintOut Copies:=1, PrintPreview:=True
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Preview:=True
End Sub
Praticamente invece di lanciare la Stampa del foglio MASTER RICEVUTE lancia la stampa di dove sto lavorando con la userform.
Molto probabilmente ho sbagliato qualcosa in questo codice |
| | Post: 2.546 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Veteran | Excel 365 | | OFFLINE |
|
03/01/2017 22:02 | |
Alessandro se guardi bene c'è un apostrofo prima di Worksheet quindi l'istruzione non viene eseguita e la seconda stampa il foglio selezionato della finestra attiva quindi non il MASTER RICEVUTE. [Modificato da alfrimpa 03/01/2017 22:02]
Alfredo |
| | Post: 10 | Registrato il: 30/12/2016
| Città: ZERO BRANCO | Età: 38 | Utente Junior | EXCEL 2013 | | OFFLINE | |
|
04/01/2017 11:09 | |
Ciao Super Alfredo, come sempre il tuo occhio esperto mi salva.
Grazie mille ho risolto il problema.
Grazie anche a Patel45 pEr avermi dato una gran mano!!! |
|
|