Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> software >> Microsoft Access >> .

Advanced Excel VBA Tutorial

linguaggio di scripting di Microsoft Excel , Visual Basic, Applications Edition , ha molti strumenti per estendere le funzionalità predefinite di Excel . Uno di questi strumenti è la possibilità di aggiungere i controlli (come ad esempio le caselle di controllo e pulsanti ) direttamente su fogli di calcolo . Utilizzando i controlli di Visual Basic e la sua capacità di attingere a funzioni fondamentali di Excel fa per una esercitazione efficace nel migliorare Excel tramite Visual Basic, Applications Edition . Progetto : utilizzare Visual Basic per calcolare subtotali

intraprendere un progetto di subtotali di calcolo per le colonne di una tabella di foglio di lavoro . Inizio con l'apertura di Excel e la creazione di una tabella in qualsiasi punto del foglio di lavoro . La tabella inizialmente si presenta come la tabella in Figura 1 .

Selezionare la tabella , comprese le intestazioni di colonna , e creare il nome di " mytab " per questa tabella . Creare il nome inserendolo nella casella Nome di Excel , che è verso l'angolo superiore sinistro dello spazio di lavoro di Excel .
Aggiungere controlli di Visual Basic

Aggiungi caselle di controllo per la tavola , con ogni casella seduto sopra una colonna della tabella . Potete trovare le caselle sotto sviluppatore> Inserisci> Controlli per formulario . Inoltre, aggiungere due pulsanti per il foglio di lavoro . Trascinarli dalla stessa zona , come le caselle di controllo , a sinistra ea destra della tabella mytab . Fare clic destro sul pulsante sinistro e cambiare il suo testo da leggere " subtotali fare". Modificare il testo del pulsante destro per "Rimuovi subtotali . "

Posizione dei pulsanti e caselle di controllo in modo che il tavolo si presenta come la tabella in Figura 2 .
Scrivi il codice

Ora che avete progettato il tavolo ed i suoi controlli , si scriverà il codice che fa i subtotali sul tavolo . Inserisci il Visual Basic ( ambiente di sviluppo integrato ) e aggiungere un modulo . Fare clic su Inserisci > Modulo . Nella finestra del codice del nuovo modulo , inserire il codice del programma :

Option Explicit

Public Sub doSubtotal ( ) per

Dim s As StringDim r Come RangeDim c Come ObjectDim ar ( ) Come IntegerDim IFIELD Come IntegerDim varItemsDim nChkd As Integer

ReDim ar ( 0 a 0 ) per

'Rimuovi subtotalsRemoveSubtotals precedenti

' creare l'array di campi di indici (a partire dal 1 ) al subtotale

IFIELD = 1nChkd = 0

'Loop attraverso caselle di controllo . Se si è selezionata , aggiungere il suo campo di arrayFor Ogni c In ActiveSheet.CheckBoxes

( c.Value = 1) = ThennChkd nChkd + 1 ' aggiungere questo campo per matrice

ar ( UBound ( ar ) ) = iFieldReDim Preserve ar ( 0 To UBound ( ar ) + 1) ' aggiunge elemento per la prossima selezionata campo

End If

IFIELD = IFIELD + 1

Avanti

( nChkd = 0 ) ThenMsgBox ( "Si prega di controllare almeno una casella . " ) Exit SubEnd Se

ReDim Preserve ar ( 0 To UBound ( ar ) - 1) 'Rimuovi vuoto ultimi elementvarItems = ar

' fare effettivo subtotale. In primo luogo , trovare la gamma di fare subtotale su

Set r = Application.Names ( " mytab " ) RefersToRange ' recuperare l'intervallo denominato di subtotale

GroupBy r.Subtotal : . = 1 , Funzione : = xlSum , TotalList : = varItems , SummaryBelowData : = xlSummaryBelow

End Sub

 

software © www.354353.com