Report dinamico con Excel

Anonimo
2011-04-15T11:10:18+00:00

Ciao a tutti! 

sto perdendo il sonno perchè non riesco a fare un piccolo lavoro su Excel.

Sto cercando di creare un report di un foglio excel. nello specifico il mio intento è quello di creare un tool di vendita per la mia attività.

fino ad ora ho fatto:

In un primo foglio ho creato un configuratore dove, tramite menù a tendina, vengono selezionati gli articoli, la quantità e gli sconti ad ognuno di essi associati. in un secondo foglio avevo creato una specie di report "artigianale". Questo riportava uno spazio per i dati del cliente, per il logo della mia attività ed altri dati funzionali all'offerta. insomma era una semplice pagina standard pronta per la stampa. il problema è che il secondo foglio non era dinamico rispetto al numero di articoli selezionati nel primo foglio. Ovvero: se nel primo foglio selezionavo 10 articoli, nel secondo foglio venivano inseriti i 10 articoli più venivano lasciate 10 righe bianche per eventuali altri articoli. allo stesso modo se nel primo foglio inserisco un solo articolo, nel secondo avrò 1 una riga sfruttata e le altre 19 lasciate libere. Il problema sorge soprattutto quando gli articoli inseriti nel primo foglio sono più di venti. in quel caso il secondo foglio non è progettato per ospitare più di 20 articoli e le righe in eccesso non vengono riportate. quindi se il primo caso è solo una mera questione grafica nel secondo caso è un problema progettuale. Il problema non è risolvibile aggiungendo a priori tante righe perchè dopo l'ultima riga viene riportato l'importo totale ed altri dati tecnici.

Il mio intento sarebbe dunque creare un secondo foglio dove le righe sono tante quanti sono gli articoli inseriti nel primo oppure ancora meglio un tasto che, una volta scelti tutti gli articoli che voglio inserire nell'offerta, mi crei un nuovo foglio con l'offerta dimensionata esattamente per il numero di articoli selezionati nel primo foglio.

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2011-04-18T15:40:12+00:00

da questa tua risposta ho capito che forse è meglio che io mi studi un po' di VBA. Ho provato a cercare guide valide online. ma alcune sono troppo semplici, altre partono già con concetti complicati come appunto i moduli, microsoft excel object, gli eventi ecc. tutto quello che io so, è leggere dei codici laddove c'è una descrizione delle operazioni a lato. conosco i cicli e le operazioni base dei linguaggi di programmazione (ho un'infarinatura di c++).

Se vuoi farlo con un pulsante. Inserisci un po' di dati in Template. Copia/incolla questa in un modulo standard:

Public Sub m()

    Dim sh1 As Worksheet

    Dim sh2 As Worksheet

    Dim lRiga As Long

    With ThisWorkbook

        Set sh1 = .Worksheets("Template")

        Set sh2 = .Worksheets("Print")

    End With

    With sh1

        lRiga = .Range("B" & .Rows.Count).End(xlUp).Row

        .Range("D14:D" & lRiga).Copy

        sh2.Range("A9").PasteSpecial xlPasteValues

        .Range("C14:C" & lRiga).Copy

        sh2.Range("C9").PasteSpecial xlPasteValues

        .Range("N14:N" & lRiga).Copy

        sh2.Range("B9").PasteSpecial xlPasteValues

        Application.CutCopyMode = False

    End With

    Set sh1 = Nothing

    Set sh2 = Nothing

End Sub

Lancia la macro. Qui copio/incollo solo tre colonne da Template, non dovrebbe essere difficile capire come implementare le altre.

La risposta è stata utile?

0 commenti Nessun commento

9 risposte aggiuntive

Ordina per: Più utili
  1. Eliminata

    Questa risposta è stata eliminata a causa di una violazione del codice di comportamento. La risposta è stata segnalata manualmente o identificata tramite il rilevamento automatizzato prima dell'esecuzione dell'azione. Per ulteriori informazioni, fai riferimento al codice di comportamento.


    I commenti sono stati disattivati. Ulteriori informazioni

  2. Anonimo
    2011-04-18T09:58:48+00:00

    Grazie per la vostra celere risposta. Come faccio ad uploadare il file incriminato? ho provato a seguire il link che Mauro mi ha postato ma purtroppo il server del mio ufficio non mi permette di accedere a siti di repository. Comunque si tratta di un file piccolo. posso passarlo via mail all'occorrenza.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2011-04-15T12:23:56+00:00

    Ciao a tutti! 

    sto perdendo il sonno perchè non riesco a fare un piccolo lavoro su Excel.

    Aiutati e aiutaci. Posta e metti in condivisione un file con le caratteristiche desiderate(imposta i fogli) qui: http://explore.live.com/windows-live-skydrive . e spiega in base a quel file cosa vuoi ottenere. Grazie.

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2011-04-15T11:47:55+00:00

    Ciao,

    in effetti forse la tua ultima considerazione potrebbe essere quella corretta.

    Ovvero avere il secondo foglio con un'unica riga per gli articoli. Sul primo foglio una volta scegli tutti gli articoli con un tasto viene richiamata una macro che inserisce (e compila) le ulteriori righe sul secondo foglio in modo da ospitare esattamente il numero degli articoli scelti.

    Servirebbe il tuo file in condivisione per provare a lavorarci sopra

    David

    La risposta è stata utile?

    0 commenti Nessun commento