Compilazione dei moduli con i dati della tabella

Formulazione del problema

Abbiamo un database (lista, tabella – chiamalo come vuoi) con le informazioni sui pagamenti su un foglio Dati:

Task: stampa rapidamente una ricevuta di cassa (pagamento, fattura...) per qualsiasi voce desiderata selezionata da questo elenco. Andare!

Passaggio 1. Crea un modulo

Su un altro foglio del libro (chiamiamolo questo foglio Modulo) crea un modulo vuoto. Puoi farlo da solo, puoi utilizzare moduli già pronti, presi, ad esempio, dai siti Web della rivista Chief Accountant o dal sito Web Microsoft. Ho qualcosa del genere:

Compilazione dei moduli con i dati della tabella

Nelle celle vuote (Conto, importo, ricevuto da ecc.) otterrà i dati dalla tabella dei pagamenti da un altro foglio – di questo ci occuperemo poco dopo.

Passaggio 2: preparare la tabella dei pagamenti

Prima di prendere i dati dalla tabella per il nostro modulo, la tabella deve essere leggermente modernizzata. Vale a dire, inserisci una colonna vuota a sinistra della tabella. Useremo per inserire un'etichetta (lascia che sia la lettera inglese "x") di fronte alla riga da cui vogliamo aggiungere i dati al modulo:

Passaggio 3. Collegamento della tabella e del modulo

Per la comunicazione utilizziamo la funzione VPR(CERCA.VERT) – Puoi leggere di più a riguardo qui. Nel nostro caso, per inserire nella cella F9 del modulo il numero del pagamento contrassegnato con “x” dalla scheda tecnica, è necessario inserire nella cella F9 la seguente formula:

= CERCA.VERT(“x”,Dati!A2:G16)

=CERCA.VERT("x";Dati!B2:G16;2;0)

Quelli. tradotta in “comprensibile”, la funzione dovrebbe trovare nell'intervallo A2: G16 della Scheda tecnica una riga che inizia con il carattere “x” e fornirci il contenuto della seconda colonna di questa riga, ovvero il numero del pagamento.

Tutte le altre celle del modulo vengono compilate allo stesso modo: nella formula cambia solo il numero di colonna.

Per visualizzare l'importo in parole, ho usato la funzione Proprio dal componente aggiuntivo PLEX.

Il risultato dovrebbe essere il seguente:

Compilazione dei moduli con i dati della tabella

Passaggio 4. In modo che non ci siano due "x" ...

Se l'utente inserisce "x" su più righe, la funzione CERCA.VERT prenderà solo il primo valore che trova. Per evitare tale ambiguità, fare clic con il pulsante destro del mouse sulla scheda del foglio Dati e poi Testo sorgente (Codice sorgente). Nella finestra dell'editor di Visual Basic visualizzata, copiare il codice seguente:

Private Sub Worksheet_Change(ByVal Target As Range) Dim r As Long Dim str As String Se Target.Count > 1 Quindi Esci da Sub se Target.Column = 1 Quindi str = Target.Value Application.EnableEvents = False r = Cells(Rows.Count , 2).End(xlUp).Row Range("A2:A" & r).ClearContents Target.Value = str End If Application.EnableEvents = True End Sub  

Questa macro impedisce all'utente di inserire più di una "x" nella prima colonna.

Bene, questo è tutto! Divertiti!

  • Utilizzo della funzione CERCA.VERT per sostituire i valori
  • Una versione migliorata della funzione CERCA.VERT
  • Importo in parole (funzione Propis) dal componente aggiuntivo PLEX

 

Lascia un Commento