Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ. |
![]() |
| Εργαλεία Θεμάτων ![]() | Τρόποι εμφάνισης ![]() |
#1
| |||
| |||
![]()
Καλησπέρα.Παλαιότερα είχα ζητήσει να κάνω download απο ένα site και να παιρνουν τα δεδομένα σε ένα εχελ φύλλο.Προσπαθώ εδώ και 2 μήνες τώρα να φτιάξω κάτι αντοίστιχο αλλά απο άλλο σιτε http://www.oxybet.com/odds_compariso...r_dat=20120701 Το κάνω όμως παίρνω τα δεδομένα μόνο από την πρώτη σελίδα.Πως γίνεται να τρέχει η εντολή και να αντλεί τα δεδομένα για όσες σελίδες είναι η κάθε ημέρα.Και να τα επικολλά στην συνέχεια? καθώς και να του λέω εγώ για πιά μέρα ενδιαφέρομαι.Αν μπορεί κάποιος ας βοήθησει. |
#2
| ||||
| ||||
![]()
Καλημέρα σε όλους! Δημήτρη, μπορείς να μελετήσεις στο επισυναπτόμενο τον κώδικα που χρειάζεται για να εισαχθούν όλες οι σελίδες δεδομένων μιας ημερομηνίας που θα επιλέξει ο χρήστης (Κελί G1) από τη σελίδα που μας υπέδειξες. Όσον αφορά την επικόλληση υποθέτω ότι θέλεις να προσθέσεις τα δεδομένα του ερωτήματος σε έναν πίνακα. Για να σε βοηθήσουμε πάνω σ' αυτό, θα πρέπει να μας πεις πως ακριβώς θα πρέπει να συμπεριφέρεται ο αυτοματισμός αυτός ώστε τα δεδομένα μια ημερομηνίας να προστίθενται μόνο μια φορά στον πίνακα. Το λέω αυτό επειδή δε γνωρίζω (δεν έχω την παραμικρή σχέση με το αντικείμενο) αν τα δεδομένα αυτά είναι στάνταρ ως προς το πλήθος και τις τιμές τους καθ' όλη τη διάρκεια της ημέρας (αν αλλάζουν, πρέπει να σκεφτείς ποιες θα είναι συνθήκες που θα επιτρέψουν την προσθήκη τους σε άλλο πίνακα). Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών Τελευταία επεξεργασία από το χρήστη Tasos : 03-07-12 στις 06:59. |
#3
| |||
| |||
![]()
Καλημέρα.Ευχαριστώ για την απάντηση.Αλλά έχει πρόβλημα.Αν του βάλεις παλια ημερομηνία δεν ανοίγει και χτυπάει ο κώδικας(π.χ 3/7/2008 ) Αυτό που θέλω να κάνω είναι να πάρω τα δεδομένα από αρχή http://www.oxybet.com/odds_compariso...r_dat=20050801 έως και σήμερα και να τα έχω όλα με την σειρά σε ένα εχελ φύλλο. Επίσης σε ένα δεύτερο φύλλο να έχω πάλι τα ίδια αλλά από αυτήν την διεύθυνση (http://www.oxybet.com/odds_compariso...r_dat=20050801) είναι η ίδια διεύθυνση απλά στο σημεί που λέει modid=1 παίρνει την τιμή 2 Δηλαδή ουσιαστικά θέλω μια επαναλαμβανόμενη διαδικασία που να κάνει αυτά τα δύο διαλέγοντας από έως την ημερομηνία (1 ημερομηνία 2005-08-01 και τελευταί η τρέχουσα)και να τα περνάει με την σειρά σε 2 ξεχωριστά φύλλα. Έχω φτιάξει κάτι και κατάφερα να μαζέψω τα δεδομένα για το 2005.Όμως το περίεργο είναι πως μόλις πάω να τρέξω την διαδικασία για το 2006 2007 κ.λ.π δεν μου επιστρέφει δεδομένα . Ενώ αν επιλέξω μία ημέρα μου το φέρνει Σας ανεβάζω και το βιβλίο για να καταλάβετε καλύτερα τι εννοώ και τι θέλω. |
#4
| ||||
| ||||
![]()
Δημήτρη, δεν έχει κανένα πρόβλημα ο κώδικας του παραδείγματος αλλά η σελίδα που χτίζει τους πίνακες με λίγα δεδομένα διαφορετικά. Φυσικά δεν μπορούμε να το παρακολουθήσουμε της αλλαγές που κάνει η ιστοσελίδα αυτή για να τροποποιήσουμε τον κώδικα κατάλληλα. Κάτι τέτοιο χρειάζεται πολύ χρόνο, είναι πολύ εξειδικευμένο και δεν μπορεί να απαντηθεί μέσα από ένα θέμα αφού δεν θα έχει πια επιπλέον διδακτικές αξίες. Μπορείς να χρησιμοποιήσεις τον παρακάτω κώδικα που καλύπτει περιπτώσεις όπως η 3/7/2008. Δεν φτιάχνω εφαρμογή. Απλά δίνω παράδειγμα και ελπίζω να το εξελίξει ο κάθε ενδιαφερόμενος. Κώδικας: Option Explicit Sub GetData() Dim seldate As String seldate = Format(Range("SelDate"), "yyyymmdd") With Range("odds_comparison").QueryTable .Connection = _ "URL;http://www.oxybet.com/odds_comparison.asp?spoid=1&modid=2&cur_dat=" & seldate .WebSelectionType = xlSpecifiedTables .WebFormatting = xlWebFormattingNone .WebTables = Chr(34) & "v-" & seldate & Chr(34) .WebPreFormattedTextToColumns = True .WebConsecutiveDelimitersAsOne = True .WebSingleBlockTextImport = True .WebDisableDateRecognition = False .WebDisableRedirections = True On Error Resume Next .Refresh BackgroundQuery:=False If Err <> 0 Then .WebTables = "4" .Refresh BackgroundQuery:=False End If End With End Sub Καλή συνέχεια Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
#5
| |||
| |||
![]()
Καλησπέρα.Σε ευχαριστώ για την απάντηση σου.Ξέρω πως ξεφεύγουμε από τα δεδομένα της απλής βοήθειας.Όμως δεν μπορώ να το φτιάξω μόνος μου.(εχω αγοράσει μέχρι τώρα 3 βιβλία για excel vba) αλλά κανένα δεν αναφέρει αυτό που ψάχνω.Σας παρακαλώ θα ήθελα να με βοήθησετε να το τελειώσω αυτό που προσπαθώ να φτιαξω. Ο κώδικας που μου δώσατε δουλέυει.Απλά χρειάζεται να τρέχει 2 διαδιακσίες έτσι ώστε να καλύπτει όλες τις περιπτώσεις. Τι εννοώ(όταν υπάρχει μια σελίδα δεδομένων τότε θέλει να έχει την εντολή (WebTables = "4") "URL;http://www.oxybet.com/odds_comparison.asp?spoid=1&modid=2&cur_dat=" & seldate & pg= ενώ όταν έχει περισσότερες απο μία πρέπει να είναι WebTables = "5" και επίσης στην εντολή θέλει να προστείθετε στο τέλος "URL;http://www.oxybet.com/odds_comparison.asp?spoid=1&modid=2&cur_dat=" & seldate&pg=(αριθμούς σελίδας)π.χ 1,2,3,4,5,6,κλπ μέχρι να πάρει τα δεδομένα και από την τελευταία σελίδα. Κύριε Τάσο (και συγνώμη από το φόρουμ που αναφέρομαι σε συγκεκριμένο άτομο )αν σας είναι εύκολο παρακαλώ υλοποιήστε μου αυτόν τον κώδικα.Και επίσης θέλω να προσθέτει τις ημέρες στην συνέχεια τις προηγούμενης χωρίς να διαγράφει τίποτa(π.χ)τελευταία εγγραφή είναι στην γραμή Α432 τότε η επόμενη να αρχίζει στη γραμμή Α433 κ.λπ ( LastRow = (.Cells(.Rows.Count, "b").End(xlUp).Row)) καθώ και να είναι επαναλαμβανόμενη η διαδικασία(for i =1 to 365)δηλαδή 365 μέρε που έχει ο χρόνος "URL;http://www.oxybet.com/oιdds_comparison.asp?spoid=1&modid=2&cur_dat=" & seldate & i και να καλύπτει και τις δύο περιπτώσεις δηλαδή "URL;http://www.oxybet.com/odds_comparison.asp?spoid=1&modid=2&cur_dat=" & seldate "URL;http://www.oxybet.com/odds_comparison.asp?spoid=1&modid=2&cur_dat=" & seldate&pg=(αριθμούς σελίδας)π.χ 1,2,3,4,5,6,κλπ μέχρι και την τελευταία Ξέρω τι χρειάζεται αλλά δεν ξέρω πως να το υλοποιήσω είμαι τελείως άσχετος με vba το excel παρόλο που έχω αγοράσει μέχρι τώρα 3 βιβλία )δεν αναφέρουν πουθενά αυτό που ζητάω. Τελευταία επεξεργασία από το χρήστη jimrenoir : 03-07-12 στις 21:41. |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
[VBA] Αυτόματη ανανέωση του filter μόλις επιλέγουμε ενα sheet | dalavouras | Excel - Ερωτήσεις / Απαντήσεις | 2 | 20-06-13 12:42 |
[VBA] Rename Tab Sheet | devcon | Excel - Ερωτήσεις / Απαντήσεις | 3 | 09-03-13 09:16 |
[Συναρτήσεις] Όνομα ενός sheet γραμμένο σε κελί και χρησιμοποίσή του από συνάρτηση. | Βασίλης Καραχάλιος | Excel - Ερωτήσεις / Απαντήσεις | 2 | 16-02-13 08:05 |
Η ώρα είναι 17:31.