Sie können in Schwierigkeiten geraten , wenn Sie versuchen, programmatisch zu einer offenen Excel-Arbeitsblatt schreiben wollen , vor allem , wenn Sie es zu öffnen sind ein zweites Mal . Excel nicht unterstützt Öffnen einer anderen Arbeitsmappe mit dem gleichen Namen , auch wenn sie in einem anderen Pfad gespeichert ist . Mit Visual Basic für Applikationen oder VBA , können Sie die Fenster-Interface Objekt aktiven Windows statt des Öffnens der Tabellenkalkulation , Daten zu übertragen wechseln. Mit dem Window-Objekt kann auch zur Verbesserung Datenübertragungsgeschwindigkeit , weil Sie nicht haben, um Öffnen Sie die Tabelle mehrmals, um es zu schreiben. Anleitung
1
Starten Sie Excel, und geben Sie " Dies ist das offene Blatt " in " A1 ". Speichern Sie die Arbeitsmappe auf " C : \\ Temp \\ " as " . Sheet1.xlsx "
2
Starten Sie eine neue Excel-Sitzung , und geben Sie " Daten ein " in " A1 ", " Daten b " in "B1 " und " Daten c " in " C1 ". Klicken Sie auf die Registerkarte "Entwicklertools" und klicken Sie auf " Visual Basic ", um den Visual Basic -Editor-Fenster starten. Klicken Sie auf das Menü "Einfügen" , und klicken Sie auf "Module ". Geben Sie den folgenden Code, um ein neues Verfahren zu erstellen : " . Geben Sie "
Private Sub transferDataToSheet ()
Press
3
Kopieren Sie den folgenden zu drei Variablen zu Zelle Daten erstellen halten :
Dim clmnA As String Dim
clmnB As String Dim
clmnC As String
4
kopieren und fügen Sie den folgenden Code , um die Werte in den Zellen A1 , B1 und C1 in Variablen speichern : . .
Worksheets ( " Tabelle1 " )
Range (" A1") auswählen
clmnA = ActiveCell.Value
. Range ( "B1" ) . Wählen
clmnB = ActiveCell.Value
. Range (" C1" ) . Wählen Sie
clmnC = ActiveCell.Value
End With
5
Kopieren Sie den folgenden , um die geöffneten Arbeitsblatt ( Sheet1.xlsx ) aktivieren :
. Fenster ( " Tabelle1 " ) aktivieren
6
Kopieren Sie den folgenden , um die Daten von Ihrem aktuellen Arbeitsblatt übertragen dem geöffneten Arbeitsblatt :
Worksheets ( " Tabelle1 " )
. Range ( "A2" ) . Wählen
Selection.Value = clmnA
. Range ( "B2" ) . Wählen
Selection.Value = clmnB
. Range (" C2" ) . Wählen
Selection.Value = clmnC
End With
7
Presse "F5" auf führen Sie vor, um Daten auf dem offenen Arbeitsblatt übertragen .