Εμφάνιση ενός μόνο μηνύματος
  #4  
Παλιά 29-02-12, 23:48
Το avatar του χρήστη gr8styl
gr8styl Ο χρήστης gr8styl δεν είναι συνδεδεμένος
Super Moderator
Όνομα: Θανάσης Στυλιανίδης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-10-2009
Περιοχή: Βρυξέλλες, Βέλγιο
Μηνύματα: 758
Προεπιλογή

Αγαπητέ Γιώργο,
πολύ σωστή η επιλογή να χρησιμοποιήσεις αρχεία κειμένου.
Για το ερώτημά σου τώρα.
Το πιο απλό είναι να κάνεις μια συντόμευση/shortcut (copy και paste as shortcut μέσω του Explorer) του φακέλου που περιέχει τα αρχεία πηγή, στον φάκελο "Τα εγγραφά μου". έτσι πατώντας το θα πηγαίνεις γρήγορα στον επιθυμητό φάκελο.

Μια άλλη προσέγγιση είναι αντί για αναναίωση όλων να επιλέγεις το πρώτο κελί της περιοχής που εισάγεις τα δεδομένα από το αρχείο κειμένου και να κάνεις αναναίωση (όχι αναναίωση όλων)

Τέλος το αντίστοιχο της αναναίωσης μέσω VBA γίνεται με την εντολή
ThisWorkbook.Sheets(1).Range("A2").Refresh'Υποθέτω ότι τα δεδομένα που εισάγεις από το αρχείο κειμένου αρχίζουν από το κελί Α2 του πρώτου φύλλου και πέρα

Και για να το καλύψουμε πλήρως,
Ο παρακάτω κώδικας δίνει μια λύση με VBA που όμως δεν νομίζω ότι είναι απαραίτητη για την περίπτωσή σου.
Ο κώδικας κάνει αναναιώση των δεδομένων για όλα τα ερωτήματα (query) που υπάρχουν στο ενεργό φύλλο και μάλιστα για κάθε query ανοίγει στον φάκελο που περιέχει το προηγούμενο αρχείο πηγή. Το On Error Resume Next είναι για να μην κρεμάσει με Error 1004 αν δεν επιλέξεις κάποιο αρχείο.
Κώδικας:
Sub my_macro()
Dim qry As QueryTable
On Error Resume Next
For Each qry In ActiveSheet.QueryTables
    qry.Refresh
Next
End Sub
Απάντηση με παράθεση