Registriert seit: 19.10.2017
Version(en): 2016
Guten Morgen allerseits, irgendwie finde ich keine Lösung.
In meinem Excel habe ich mehrere Makros die eine CSV Datei öffnen und in einem anderen Tabellenblatt einfügen, danach wird automatisch dieses Tabellenblatt aufgerufen.
So, alles soweit so gut, nur danach kann ich zwar in allen Tabellenblättern (4 habe ich) schreiben, nur nicht in dem in dem ich das Makro ausgeführt habe. Dort kann ich erst nach einem neustart von Excel wieder was schreiben, die Makros gehen aber weiterhin.
mfg
Registriert seit: 11.04.2014
Version(en): Office 2007
Hallo,
könntest Du zumindest mal dein Makro posten?
Gruß Stefan
Win 10 / Office 2016
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
meisten wirkt ein Schreibschutz, wenn man in einem Blatt nix schreiben kann, in anderen schon.
Wenn ein Makro noch läuft, kann man in der Regel auch nix machen. Dazu müsste man das Makro schon unterbrechen. Ob es komplett durchgelaufen ist, könntest Du mit einer entsprechenden Meldung am Ende ja mal testen. Oder setze bei End Sub einen Haltepunkt und schaue, ob da auch gehalten wird
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 04.12.2017
Version(en): 2003-2013
Moin schauan,
Zitat:Wenn ein Makro noch läuft, kann man in der Regel auch nix machen. Dazu müsste man das Makro schon unterbrechen. Ob es komplett durchgelaufen ist, könntest Du mit einer entsprechenden Meldung am Ende ja mal testen. Oder setze bei End Sub einen Haltepunkt und schaue, ob da auch gehalten wird
Es ist mir nie gelungen, solange ein Makro läuft, in einem Tabellenblatt innerhalb der selben Excelinstanz etwas zu ändern, es sei den ich habe eine userform mit vbmodal geöffnet.
Ich gehe mal davon aus, dass du nur
1 Excelinstanz offen hast, jede weitere Instanz braucht - bei den neuen Versionen - einen Parameter zum händisch öffnen.
Hättest du mehrere Instanzen, müsstest du die auch einzeln - jede für sich - schließen
Das ist also als Fehler auszuschließen.
Drum TE,
bring uns mal bitte den Code, dann schaumer mal.
Zitat:nur danach kann ich zwar in allen Tabellenblättern (4 habe ich) schreiben, nur nicht in dem in dem ich das Makro ausgeführt habe. Dort kann ich erst nach einem neustart von Excel wieder was schreiben, die Makros gehen aber weiterhin.
Registriert seit: 19.10.2017
Version(en): 2016
Sorry war paar Tage nicht im Büro wegen Makro, hier was abläuft.
Private Sub OpenCheckList1_Click()
Dim name As String
name = Range("J4")
Dim Dateiname As String
Dateiname = True
Call OpenCheckListMain(name, Dateiname)
End Sub
Sub OpenCheckListMain(ByRef name, ByRef Dateiname)
Tabelle4.Range("A2").Value = name
Dim Ws As Worksheet
Set Ws = ActiveWorkbook.Sheets("Fehlerliste")
On Error GoTo ErrorHandler
If Dateiname <> False Then
Application.ScreenUpdating = False
Workbooks.Open Filename:="C:\Users\Public\Documents\Maschinen\" + name + ".csv", Local:=True
ActiveSheet.UsedRange.Copy Ws.Cells(3, 3)
ActiveWorkbook.Close SaveChanges:=False
Application.ScreenUpdating = True
End If
Worksheets("Fehlerliste").Select
Exit Sub
ErrorHandler:
Tabelle4.Range("A2").Value = name
Tabelle4.Range("C3").Value = name
Workbooks.Open Filename:="C:\Users\Public\Documents\Maschinen\ClearForLoad.csv", Local:=True
ActiveSheet.UsedRange.Copy Ws.Cells(5, 3)
ActiveWorkbook.Close SaveChanges:=False
Application.ScreenUpdating = True
Worksheets("Fehlerliste").Select
Exit Sub
End Sub
Ich denk eigentlich dass er es beenden sollte?
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo,
teste mal damit:
Private Sub OpenCheckList1_Click()
ActiveCell.Activate
Call OpenCheckListMain(Range("J4").Value, True)
End Sub
Gruß Uwe
Registriert seit: 04.12.2017
Version(en): 2003-2013
Moin,
wenn das Makro in der Datei, die das Sheet "Fehlerliste" enthält, enthalten ist, würde ich statt
Set Ws = ActiveWorkbook.Sheets("Fehlerliste")
Set Ws = ThisWorkbook.Sheets("Fehlerliste")
schreiben.
Keine Ahnung ob es daran liegt.
Ich habe das bei mir nachgebaut und lass eine xlsx datei öffnen und schließen und kann danach in jedem Blatt arbeiten.
Stutzig macht mich das hier:
Code:
Dim Dateiname As String
Dateiname = True
wenn Dateiname nur true oder false annehmen soll, würde ich nicht als String sondern als Boolean dimensionieren