DrLo Δημοσ. 19 Αυγούστου Δημοσ. 19 Αυγούστου (επεξεργασμένο) Καλησπέρα, έχω ένα θεματάκι με ένα σχετικά απλό κώδικα σε VBA στο spoiler Βασικά αυτό που κάνει είναι να - ανοίγει ένα ένα όλα τα αρχεια που βρίσκονται στο subfolder - διαβάζει το κελι "G4" - κλείνει το αρχείο και τυπώνει στη οθόνη το path του κάθε αρχείου καθώς και αυτό που διάβασε από το κάθε G4 όλα καλά το πρόβλμά μου είναι ότι ενώ το αρχείο κλείνει κανονικά, αυτό συνεχίζει να εμφανίζεται στο project tree του VBA editor ως να είναι ανοικτό δλδ καθώς διαβαζονται ακρετές εκατοντάδες αρχεία νομίζω ότι σιγά σιγά "βαραίνει" και πιο μετά ίσως χρειαστεί να διαβαστούν περισσότερα πως γίνεται αυτό? όταν ανοίγεις και κλείνεις χειροκίνητα ένα αρχείο αυτό "φευγει" από εκεί. Τώρα όχι το chat gpt πρότεινε το set wb = Nothing αλλά δε κάνει τίποτα. Spoiler Sub mysub() Dim FSO As FileSystemObject Dim baseFolder As Folder Dim wb As Workbook Dim ws As Worksheet Dim rng As Range subfolder = Worksheets("settings").Cells(1, 2) pth = ThisWorkbook.Path + "\" + subfolder + "\" Set FSO = New FileSystemObject Set baseFolder = FSO.GetFolder(pth) i = 0 For Each file_ In baseFolder.Files i = i + 1 Cells(i, 1) = pth + file_.Name Set wb = Workbooks.Open(pth & file_.Name) Set ws = wb.Sheets(1) Set rng = ws.Range("G4") Cells(i, 3) = rng.Value wb.Close SaveChanges:=False Set wb = Nothing Next End Sub Επεξ/σία 19 Αυγούστου από DrLo
ChrisGT7 Δημοσ. 19 Αυγούστου Δημοσ. 19 Αυγούστου (επεξεργασμένο) Καλησπέρα @DrLo, Τον απλοποίησα όσο μπορούσα αλλά δεν είδα να εμφανίζεται αυτό που αναφέρεις, ούτε με τον απλοποιημένο ούτε με τον δικό σου κώδικα. Μετά το πέρας της εκτέλεσής του, στο διαχειριστή (Project Manager) υπάρχει μόνο το αρχείο με την μακροεντολή. Option Explicit Sub MySub() Dim FSO As New FileSystemObject Dim MyFile As File Dim Wb As Workbook Dim Pth As String Dim I As Long Application.ScreenUpdating = False Pth = ThisWorkbook.Path & "\" & [B1] & "\" For Each MyFile In FSO.GetFolder(Pth).Files I = I + 1 Cells(I, 1).Value = Pth & MyFile.Name Set Wb = Workbooks.Open(Pth & MyFile.Name) Cells(I, 3).Value = Wb.Sheets(1).[G4] Wb.Close SaveChanges:=False Next Application.ScreenUpdating = True End Sub Επεξ/σία 19 Αυγούστου από ChrisGT7 1
DrLo Δημοσ. 19 Αυγούστου Μέλος Δημοσ. 19 Αυγούστου 2 ώρες πριν, ChrisGT7 είπε Καλησπέρα @DrLo, Τον απλοποίησα όσο μπορούσα αλλά δεν είδα να εμφανίζεται αυτό που αναφέρεις, ούτε με τον απλοποιημένο ούτε με τον δικό σου κώδικα. Μετά το πέρας της εκτέλεσής του, στο διαχειριστή (Project Manager) υπάρχει μόνο το αρχείο με την μακροεντολή. Option Explicit Sub MySub() Dim FSO As New FileSystemObject Dim MyFile As File Dim Wb As Workbook Dim Pth As String Dim I As Long Application.ScreenUpdating = False Pth = ThisWorkbook.Path & "\" & [B1] & "\" For Each MyFile In FSO.GetFolder(Pth).Files I = I + 1 Cells(I, 1).Value = Pth & MyFile.Name Set Wb = Workbooks.Open(Pth & MyFile.Name) Cells(I, 3).Value = Wb.Sheets(1).[G4] Wb.Close SaveChanges:=False Next Application.ScreenUpdating = True End Sub Θα το δοκιμάσω αν και μου φαίνεται ακριβώς το ίδιο. Λες να είναι κάνα setting στο excel του λάπτοπ της δουλειάς? Θα το δοκιμάσω και σε αλλο laptop μπας και είναι τιποτα κουφο.
Λύση ChrisGT7 Δημοσ. 19 Αυγούστου Λύση Δημοσ. 19 Αυγούστου (επεξεργασμένο) Από όσο ξέρω και από ότι έχω δει μέχρι τώρα, στο Διαχειριστή Έργων εμφανίζονται μόνο τα ανοικτά βιβλία εργασίας. Θα το ψάξω πάντως μήπως υπάρχει κάποια ρύθμιση που κρατάει αντίγραφα ασφαλείας των βιβλίων εργασίας που έχουν ανοιχθεί μέχρι τότε. Επεξεργασία: Με ένα γρήγορο ψάξιμο στο διαδίκτυο, βρήκα αρκετές δημοσιεύσεις με αυτό το πρόβλημα που ακρετοί αναφέρονται ως "σφάλμα του Excel" (bug). Κάποιος που βρήκε μια λύση, ανέφερε πως το πρόβλημα ήταν σε ένα πρόσθετο του Excel (Add-in) που χρησιμοποιούσε, το έσβησε και το πρόβλημα λύθηκε. Οπότε, ρίξε μια ματιά στα πρόσθετα που φορτώνονται κατά την Έναρξη του Excel, μιας και αναφέρεις πως είναι της δουλειάς σου, και αν δεις τίποτα περίεργο, απενεργοποίησέ το και δοκίμασε ξανά. Επεξ/σία 19 Αυγούστου από ChrisGT7 1
DrLo Δημοσ. 20 Αυγούστου Μέλος Δημοσ. 20 Αυγούστου Thanks θα το κοιτάξω αν και δε νομίζω να έχω κάποιο add-in Σε αυτά τα ποστ που λες αναφέρουν ότι το πρόβλημα εμφανίζεται μόνο όταν κλείνει το αρχείο μέσω VBA ή γενικά? Αν ανοίξω κάποιο αρχείο χειροκίνητα και το κλείσω δεν υπάρχει πρόβλημα. Μόνο όταν γίνεται μέσω του κώδικα.
ChrisGT7 Δημοσ. 20 Αυγούστου Δημοσ. 20 Αυγούστου Καλημέρα! Μέσω κώδικα VBA αν θυμάμαι καλά, γιατί είχαν και αντίστοιχες φωτογραφίες με τη δικιά σου. Πάντως έχω φτιάξει παλιότερα κώδικα που επεξεργάζεται αρχεία, αλλά δε θυμάμαι ποτέ να έχει ξαναγίνει κάτι τέτοιο. Και όπως ανέφερα, δοκίμασα τον κώδικά σου και λειτουργούσε κανονικά. Αν ανοίξεις κάποιον κώδικα από τα ήδη "κλεισμένα" αρχεία, όπως φαίνονται στη φωτογραφία σου, μπορείς να τον επεξεργαστείς και να τον αποθηκεύσεις κανονικά; Δηλαδή παρόλο που έχουν κλείσει τα αρχεία, μπορείς να επεξεργαστείς τα δεδομένα του κώδικα ή θα σου βγάλει κάποιο σφάλμα αποθήκευσης; Έχεις δοκιμάσει κάτι τέτοιο;
DrLo Δημοσ. 20 Αυγούστου Μέλος Δημοσ. 20 Αυγούστου 12 ώρες πριν, ChrisGT7 είπε Επεξεργασία: Με ένα γρήγορο ψάξιμο στο διαδίκτυο, βρήκα αρκετές δημοσιεύσεις με αυτό το πρόβλημα που ακρετοί αναφέρονται ως "σφάλμα του Excel" (bug). Κάποιος που βρήκε μια λύση, ανέφερε πως το πρόβλημα ήταν σε ένα πρόσθετο του Excel (Add-in) που χρησιμοποιούσε, το έσβησε και το πρόβλημα λύθηκε. Οπότε, ρίξε μια ματιά στα πρόσθετα που φορτώνονται κατά την Έναρξη του Excel, μιας και αναφέρεις πως είναι της δουλειάς σου, και αν δεις τίποτα περίεργο, απενεργοποίησέ το και δοκίμασε ξανά. Τελικά αυτό ήταν. είχε add-in του bluebeam που όταν το απενεργοποίησα ο ίδιος κώδικας έπαιξε κανονικά. THANKS !!!
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα