I figli d'arte sono all'altezza dei genitori? Vieni a parlarne su Award & Oscar.
 
Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

AIUTO!!! Modifica comando STAMPA con INSERISCI e stampa

Ultimo Aggiornamento: 04/01/2017 11:09
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!!!
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Ho la stampa, non ho più il file... (8 messaggi, agg.: 01/01/2019 10:35)
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 07:55. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com