Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Nach Makro kein Schreiben möglich
#1
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
Antworten Top
#2
Hallo,

könntest Du zumindest mal dein Makro posten?
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#3
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 Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#4
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 Smile

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.
Antworten Top
#5
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?
Antworten Top
#6
Hallo,

teste mal damit:
Private Sub OpenCheckList1_Click()
 ActiveCell.Activate
 Call OpenCheckListMain(Range("J4").Value, True)
End Sub
Gruß Uwe
Antworten Top
#7
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
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste