Liebe/-r Experte/-in,
Ich möchte mittel VBS in die Zelle „G12“ der „Tabelle1“ eines schon geöffneten ExcelWorkbook(Ergebnis.xls) einen Wert eintragen.
Wie kann ich dies bitte machen?Es könnte vielleicht so gehen:
Set xlApp= GetObject(, „Excel.Application“)
xlApp.Workbook.Open(„D:\Ergebnis.xls“)
aber wie geht’s weiter?Denn wenn ich Open benutzt dann kommt immer die Meldung das dieses Workbook schon geöffnet ist.
Kann mir bitte einer ein Code schicken oder Hinweise geben?
Danke
Hi,
Grundsätzlich greifst du auf Zellen über das folgende VBA Script zu (Code innerhalb von Excel). In diesem Beispiel liegt entsprechend ein Button in dem Excel-Sheet. Bei klicken dieses wird in dem ersten Sheet der Wert der ersten Zeile/Spalte gesetzt.
Sollte dies nicht deiner Lösung entsprechen, da relativ unklar ist WIE (externe App.) du darauf zugreifen möchtest, schreib bitte erneut.
Grundsätzlich gilt bei externen Programmen: Exklsuive Öffnung der Dateien ist ein Editieren nur exklusiv möglich. Lösung für dieses Probelm ist entpsrechend die Instanz von Excel zu holen und darin zu editieren, siehe Bspl. 2.
Der Code ist jeweils ungetest
Grüße
Matthias
Bspl.1
Sub Schaltfläche1_KlickenSieAuf()
Dim index As Integer
Dim zeile As Integer
Dim spalte As Integer
index = 1
zeile = 1
spalte = 1
Sheets(index).Cells(zeile, spalte).Value = „asd“
End Sub
Bspl.2
Dim xlApp As Object
Dim xlBook As Object
Dim sheets As Object
FullExcelDatName = „.\Microsoft Office Excel-Arbeitsblatt (neu).xlsm“
Set xlApp = GetObject(, „Excel.Application“)
If xlApp Is Nothing Then
Set xlApp = CreateObject(„Excel.Application“)
End If
Set xlBook = xlApp.Workbooks.Open(FullExcelDatName)
Set sheets = xlBook.sheets
sheets(1).Cells(1, 1).Value = „123“
Hallo BBoli13,
ist ja auch irgendwie klar: Wenn Du versuchst, ein bereits geöffnetes Workbook zu öffnen…?!
Versuchs mal so:
Dim objExcel
Set objExcel = GetObject(,„Excel.application“)
With objExcel
.Visible = True
.ActiveWorkbook.Sheets(„Tabelle1“).Range(„G12“).Value = „Hallo Test1“
.ActiveWorkbook.Save
End With
Set objExcel = Nothing
Gruß
(Woly)
Danke sehr an allen,
Ihr beiden Coden haben funktioniert.
Ich habe den von Woly im Einsatz jetzt.
danke
Grüße und Frohe Weihnachten!
Hallo BBoli13,
ist ja auch irgendwie klar: Wenn Du versuchst, ein
bereits
geöffnetes Workbook zu öffnen…?!
Versuchs mal so:
Dim objExcel
Set objExcel = GetObject(,„Excel.application“)
With objExcel
.Visible = True
.ActiveWorkbook.Sheets(„Tabelle1“).Range(„G12“).Value =
„Hallo Test1“
.ActiveWorkbook.Save
End With
Set objExcel = NothingGruß
(Woly)
Freut mich, dass ich helfen konnte! Und danke für die Rückmeldung!
Schöne Weihnachtstage!
(Woly)