Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ. |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
Εξωτερικά δεδομένα
Παρακαλώ την βοήθειά σας Σε ένα αρχείο Excel κάνω λήψη εξωτερικών δεδομένων από αρχείο Excel ( "*.xls, *.xlsx, *.xlsm, *.xlsb") Το ζητούμενο είναι κώδικας VBA για να μπορώ να αλάξω το αρχείο προέλευσης των εξωτερικών δεδομένων ( το αρχείο, όχι την διαδρομή του αρχείου) και να κάνω ανανέωση των δεδομένων. Σημείωση : Τα αρχεία (Πηγές) εξωτερικών δεδομένων έχουν την ίδια μορφή. Σας ευχαριστώ Γιώργος Τελευταία επεξεργασία από το χρήστη Flashgordon61 : 23-02-12 στις 12:48. |
#2
|
Φίλε μου κάνε καταγραφή μακροεντολης κάνοντας εισαγωγή δεδομένων από ένα από τα όμοια εξωτερικά αρχεία. Αφου τελειώσεις με την καταγραφη της μακροεντολής, άνοιξε τον VBE (Alt+F11) και κάνε αντικατάσταση της μιας και μοναδικής εμφάνισης του ονόματος του αρχείου που άνοιξες, με το παρακάτω συμπεριλαμβανομένων των εισαγωγικών και την αλλαγή γραμμής Κώδικας: " & _ InputBox("Give filename") & " ...\" & _ InputBox("Give filename") & ";... Τρέξε την μακροεντολή και πες μας αν έγινε. Θανάσης |
#3
| |||
| |||
Φίλε Θανάση σ' ευχαριστώ πολύ, αφού πρώτα ζητήσω συγνώμη για την αργοπορία της απάντησης (έλειπα ταξίδι). Αντικαταστώντας το όνομα του αρχείου με τον κώδικα, πράγματι βγαίνει το InputBox που μας προτρέπει να γράψουμε το όνομα του νέου αρχείου. Τώρα, επειδή τα ονόματα των αρχείων πηγών είναι μεγάλα (με πολλούς και ενδεχομένως ελληνικούς χαρακτήρες) και με διαδικασία copy/paste του ονόματος του αρχείου και με δεδομένο την μη συμβατότητα Ελληνικών & VBA , προκύπτουν προβλήματα. Μία λύση που βρήκα είναι η μετατροπή των αρχείων πηγών σε αρχεία κειμένου (Save as type : Unicode Text (*.txt)) και λήψη εξωτερικών δεδομένων από κείμενο. Καλώντας με VBA ανανέωση : Κώδικας: ActiveWorkbook.RefreshAll Καλώντας για πρώτη φορά τον κώδικα (ActiveWorkbook.RefreshAll) ο προεπιλεγμένος φάκελος του παραθύρου (Import Text File) είναι Τα έγραφά μου (My Documents),τις επόμενες φορές ειναι ο φάκελος που έχουμε τα αρχεία πηγές. Επειδή τα αρχεία πηγές είναι αποθηκευμένα σε έναν δίσκο Δυκτίου και η διαδρομή είναι μεγάλη θα ήθελα να ήξερα αν μπορούμε απο την αρχή να προσδιορίσουμε τον προεπιλεγμένο φάκελο του παραθύρου (Import Text File). Και πάλι σ' ευχαριστώ. Γιώργος |
#4
|
Αγαπητέ Γιώργο, πολύ σωστή η επιλογή να χρησιμοποιήσεις αρχεία κειμένου. Για το ερώτημά σου τώρα. Το πιο απλό είναι να κάνεις μια συντόμευση/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 |
Ετικέτες |
vba, εξωτερικές αναφορές |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
[Γενικά] Δεδομένα πίνακα σε φόρμα | panths | Excel - Ερωτήσεις / Απαντήσεις | 3 | 17-08-16 10:42 |
Δεδομενα απο web σελιδα σε φορμα | artchrist73 | Access - Ερωτήσεις / Απαντήσεις | 1 | 30-08-15 17:47 |
Access με Εξωτερικά Δεδομένα απο xls | tzvangel | Access - Ερωτήσεις / Απαντήσεις | 4 | 11-10-14 11:05 |
[Γενικά] Δεδομένα | annoyla | Excel - Ερωτήσεις / Απαντήσεις | 12 | 28-03-12 01:51 |
[ Εκθέσεις ] Όταν δεν υπάρχουν δεδομένα... | Meteora | Access - Ερωτήσεις / Απαντήσεις | 5 | 19-02-10 15:40 |
Η ώρα είναι 08:05.