Du kan komme i trøbbel når du prøver å programmatisk skrive til en åpen Excel regneark , spesielt hvis du åpner det en gang . Excel støtter ikke åpne en annen arbeidsbok med samme navn , selv om den er lagret på en annen bane . Med Visual Basic for Applications , eller VBA , kan du bruke Window Interface objekt å bytte aktive Windows i stedet for å åpne regneark til å overføre data . Bruke Window objektet kan også forbedre dataoverføringshastighet fordi du ikke trenger å åpne regnearket flere ganger for å skrive til den. Instruksjoner
en
Launch Excel og skriver "Dette er den åpne ark " i " A1 ". Lagre arbeidsboken til "C : \\ Temp \\ " som " . Sheet1.xlsx "
2
Start en ny økt av Excel , og skriv " data en " in " A1 ", " data b " i " B1 " og " data c" i " C1 ". Klikk på " Utvikler " fanen , og klikk " Visual Basic" for å starte Visual Basic Editor Window . Klikk på " Insert"-menyen , og klikk " Module ". Skriv inn følgende kode for å lage en ny prosedyre : " . Enter"
Private Sub transferDataToSheet ( )
Trykk
3
Kopier og lim inn følgende å opprette tre variabler å holde celle data:
Dim clmnA As String
Dim clmnB As String
Dim clmnC As String
4
Copy og lim inn følgende kode for å lagre verdiene i cellene A1 , B1 og C1 inn variabler : . .
p Med regneark ( " Ark1 ")
Range (" A1 ") Velg
clmnA = ActiveCell.Value
. Range (" B1 ") . Velg
clmnB = ActiveCell.Value
. Range (" C1 ") . Velg
clmnC = ActiveCell.Value
End With
5
Kopier og lim inn følgende for å aktivere den åpne regnearket ( Sheet1.xlsx ) : en
. Windows ( " Ark1 ") Aktiver
6
Kopier og lim inn følgende for å overføre data fra den gjeldende regnearket til den åpne regnearket : en p Med regneark ( " Ark1 ")
. Range (" A2" ) . Velg
Selection.Value = clmnA
. Range (" B2 ") . Velg
Selection.Value = clmnB
. Range (" K2 ") . Velg
Selection.Value = clmnC
End With
7
Trykk " F5 " for å kjøre prosedyren for å overføre data til den åpne regnearket.