Εργαστηριακές Ασκήσεις 9ου Εξαμήνου

Προχωρημένες Μέθοδοι Τεχνικοοικονομικού Σχεδιασμού

Εισαγωγή Εξαγωγή Δεδομένων


Ένα από τα μεγαλύτερα πλεονεκτήματα του VBA είναι η αρμονική λειτουργία του με το Excel. Έχουμε τη δυνατότητα να εισάγουμε δεδομένα από ένα φύλλο excel, αλλά και το ανάποδο, δηλαδή να γράψουμε άποτελέσματα σε ένα φύλλο excel. Τα δεδομένα αυτά μπορούμε να τα μορφοποιήσουμε, να σχεδιάσουμε διαγράμματα, κλπ.

Για να γράψουμε δεδομένα σε ένα ή περισσότερα κελιά μπορούμε να χρησιμοποιήσουμε τους εξής δυο τύπους εντολών ισοδύναμα:

Στην πρώτη περίπτωση αναφερόμαστε σε συγκεκριμένο κελί ή σε συγκεκριμένα κελιά ορίζοντας την ονομασία του κελιού ή των κελιών:
Worksheets([Worksheet number]).Range([Range]).Value = [Value]

για παράδειγμα: Worksheets(1).Range("B2").Value = 10

ή ισοδύναμα Application.Workbooks("[WorkBook name]").Worksheets("[WorkSheet name]").Range([Range]).Value = [Value]

για παράδειγμα: Application.Workbooks("Book1.xlsx").Worksheets("Sheet1").Range("Β2").

Άλλα παραδείγματα:

Worksheets(1).Range("B2:B10").Value = 11

ή Worksheets(1).Range("B2:B10").Value = Worksheets(1).Range("C2:C10").Value


Ενώ στην δεύτερη περίπτωση αναφερόμαστε απευθείας στο κελί σαν να είναι στοιχείο ενός πίνακα:
Worksheets([Worksheet number]).Cells([Row], [Column]).Value = [Value]

για παράδειγμα: Worksheets(1).Cells(3, 2).Value = 10, όπου ουσιαστικά αναφερόμαστε στο κελί Β3, δηλαδή στο κελί που βρίσκεται στην τρίτη γραμμή και τη δεύτερη κολώνα (δηλαδή στην στήλη Β).

Για να διαβάσουμε δεδομένα από κάποιο κελί μπορούμε να χρησιμοποιήσουμε το δεύτερο τρόπο γραφής, όπως φαίνεται στο παρακάτω παράδειγμα:

Worksheets(1).Cells(3, 2).Value = 10, όπου ουσιαστικά αναφερόμαστε στο κελί Β3,



Άσκηση

Δημιουργείστε ένα νέο φύλλο excel. Σε αυτό θα γράψετε τιμές στις στήλες Β & C ώστε να δημιουργήσετε ένα διάγραμμα με τις τιμές της στήλης Β στον άξονα των Χ και τις τιμές της στήλης C στον άξονα των Y.
Τοποθετήστε ένα button στο φύλλο excel και συνδέστε σε αυτό μια subroutine με ονομασία FillIn.
Στο κελί Α2 δώστε τη δυνατότητα να διαβάζει το πρόγραμμα μια αρχική τιμή που θα την δώσετε σε μια double μεταβλητή με το όνομα Seed.
Στην στήλη Β δώστε τιμές B1 = Seed, B2 = Seed + 1, ..., B101 = Seed + 100.
Στη στήλη C δώστε τιμές ως εξής:

  • Για Χ=0 (δηλαδή στο κελί C1) δώστε την τιμή 8
  • Στα κελιά από C2 έως C20 δώστε την τιμή 10
  • Στα κελιά από C21 έως C30 δώστε την τιμή 7
  • Στα κελιά από C31 έως C61 δώστε την τιμή που προκύπτει από τη γραμμική σχέση Υ = 0.5 * Χ - 8
  • Στη συνέχεια για τα υπόλοιπα κελιά δώστε την τιμή που προκύπτει από την κλαδική συνάρτηση:
    αν y = 0.6 * Χ - 15 και z = 0.8 * X - y τότε F(x) = y αν y > z αλλιώς F(x) = z.