• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
June 16, 2025, 17:56:51 pm

Login with username, password and session length
Links
  Thmmy.gr portal
   Forum
   Downloads
   Ενεργ. Λογαριασμού
   Επικοινωνία
  
  Χρήσιμα links
   Σελίδα τμήματος
   Βιβλιοθήκη Τμήματος
   Elearning
   Φοιτητικά fora
   Πρόγραμμα Λέσχης
   Πρακτική Άσκηση
   Ηλεκτρονική Εξυπηρέτηση Φοιτητών
   Διανομή Συγγραμμάτων
   Ψηφιακό Καταθετήριο Διπλωματικών
   Πληροφορίες Καθηγητών
   Instagram @thmmy.gr
   mTHMMY
  
  Φοιτητικές Ομάδες
   ACM
   Aristurtle
   ART
   ASAT
   BEAM
   BEST Thessaloniki
   EESTEC LC Thessaloniki
   EΜΒ Auth
   IAESTE Thessaloniki
   IEEE φοιτητικό παράρτημα ΑΠΘ
   SpaceDot
   VROOM
   Panther
  
Πίνακας Ελέγχου
Welcome, Guest. Please login or register.
June 16, 2025, 17:56:51 pm

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
[ΘΤΠΑ] Γενικές απορίες κα...
by Nikos_313
[Today at 16:56:56]

[Σ.Π.Η.Ε.] Γενικές απορίε...
by nmpampal
[Today at 16:30:35]

[Εφ.Θερμοδυναμική] Γενικέ...
by Λαμπτήρας
[Today at 15:55:08]

[Αρχές Οικονομίας] Να επι...
by _Trob
[Today at 13:28:21]

[Σ.Α.Π.Γ.] Εργασία 2025
by Nikos_313
[Today at 12:13:45]

Αποτελέσματα Εξεταστικής ...
by Nikos_313
[Today at 12:01:53]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by George_RT
[Today at 10:22:18]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[Today at 01:56:37]

Ισραήλ - Ιράν: Πόλεμος στ...
by Katarameno
[June 15, 2025, 20:08:49 pm]

Αντικατάστασης πυκνωτή σε...
by nmpampal
[June 15, 2025, 16:25:56 pm]

[Σ.Π.Η.Ε.] Παλιά θέματα -...
by nmpampal
[June 15, 2025, 06:43:15 am]

Το thmmy.gr στο instagram...
by Mr Watson
[June 15, 2025, 00:50:23 am]

[Λογισμός ΙΙ] Απορίες σε...
by el mariachi
[June 14, 2025, 20:47:07 pm]

ΠΡΟΣΟΧΗ στο ανέβασμα θεμά...
by tzortzis
[June 14, 2025, 16:54:08 pm]

Ρυθμίσεις Θεμάτων της Ανώ...
by el mariachi
[June 14, 2025, 11:56:45 am]

Πότε θα βγει το μάθημα; -...
by Nikos_313
[June 14, 2025, 10:00:55 am]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[June 14, 2025, 09:58:14 am]

Αλέξης Τσίπρας, η επιστρο...
by Yamal
[June 14, 2025, 04:42:23 am]

Έναρξη Δηλώσεων Συμμετοχή...
by IEEE SB
[June 14, 2025, 00:10:19 am]

[Δυναμική Συμπεριφορά ΣΗΕ...
by soko_freta
[June 13, 2025, 01:05:36 am]
Στατιστικά
Members
Total Members: 9959
Latest: valco08
Stats
Total Posts: 1426674
Total Topics: 31711
Online Today: 203
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 80
Guests: 108
Total: 188
george14
pdiamantis
aorologas
meliou
vaggelis.ntokas
Nikos.Ts
geo66
papajohnn06
thanosn
Antreas17
Evripidis
Antigoni
Chr1sgr
vasilis saitis
Mr Z
gp6
soktas
Annapar
cremidhs
Lefo
dr.giorgos
daphnenik
ThanosKoutsoump
mgrivab
JiMan5
NickSpan
georkala
chrysa.tsilika
chriskazakos
anna.ts
Nikos_313
noys
giorgos_skl
naoumvogia
evax
Konstantina Karamani
useranknown
nikos123321
Don
Gone_Forever
ioannidisg
tasos gourd
stefpapa21
maria.r
Chaidec
nikd
themisb
Deviate
gcheristanidhs
Kv
manos_diakakis
evgeniaz
alexandraskol
Captain
Tasos Bot
Farmakis Aggelos
ore525
Ted Kaczynski
Sotirisbikos
ganasto
mrodi
Nikolas Tsamitros
swthrhs
lina_zs
Δημητρης Αξιμιωτης
Dimos Bachlas
dnikoa
Gregory_SP
A-TheITGuy
nataliapap
ioannisdamantis
Pcsc
npalami
xeniam
xristodoulou
sofaki
Δημήτρης Διακολουκάς
Εμφάνιση

Νέα για πρωτοετείς
Είσαι πρωτοετής;... Καλώς ήρθες! Μπορείς να βρεις πληροφορίες εδώ. Βοήθεια για τους καινούργιους μέσω χάρτη.
Κατεβάστε εδώ το Android Application για εύκολη πρόσβαση στο forum.
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads με προσοχή στα ονόματα των αρχείων!

Νέα!
Πρόγραμμα Χειμερινής Εξεταστικής 2024-2025
THMMY.gr > Forum > Ηλεκτρονικοί Υπολογιστές και Τεχνικά Θέματα > Περί Υπολογιστών... > Software > Windows 7, Vista , XP, 9x, 2000, Office (Moderators: chatzikys, PolarBear) > Απορία για vba σε Microsoft Excel
0 Members and 1 Guest are viewing this topic.
Pages: [1] 2 Go Down Print
Author Topic: Απορία για vba σε Microsoft Excel  (Read 2175 times)
pocitician
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 130



View Profile
Απορία για vba σε Microsoft Excel
« on: March 18, 2016, 12:04:28 pm »

Έχω γράψει έναν κώδικα vba σε αρχείο Microsoft Excel και ενώ όταν πατάω το [play] δεν μου βγάζει ότι έχω κάποιο πρόβλημα στον κώδικα (δηλαδή ότι έγραψα κάτι λάθος), φορτώνει, φορτώνει και τελικά "κολλάει" και δεν συμπληρώνει ποτέ τα φύλλα εργασίας όπως θα έπρεπε... Sad

Γνωρίζει κανείς γιατί συμβαίνει αυτό; Δηλαδή γιατί αργεί να τρέξει τον κώδικα vba με αποτέλεσμα τελικά ποτέ να μην τον τρέχει και απλά να δείχνει ότι φορτώνει ώσπου κολλάει;

Έψαξα μήπως έχω βάλει κάποια ατέρμονα επανάληψη, που δεν τελειώνει ποτέ, αλλά δεν βρήκα κάποιο λάθος.

Ευχαριστώ εκ των προτέρων!
Logged

Obarack Sand
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Posts: 503


View Profile
Re: Απορία για vba σε Microsoft Excel
« Reply #1 on: March 18, 2016, 20:12:07 pm »

Ένα μικρό πραγματάκι που έχω κάνει εγώ συνήθως κάνει 5-10" να τρέξει, οπότε αν έχεις κάνει κάτι βαρύ ίσως να φταίει απλά αυτό. Επίσης νομίζω έχει διαφορές από 2003 σε 2007 και πιθανότατα στα πιο καινούρια Office, οπότε έχε το νου σου σε τυχόν λεπτομέρειες που μπορεί να προκαλούν λάθη, π.χ. ελαφρώς διαφορετική σύνταξη στην έκδοση που χρησιμοποιείς απ' αυτή που έβαλες.
Παίζει επίσης να δώσεις κάνα τμήμα του κώδικα μπας και βοηθήσει περισσότερο να δούμε τι παίζει;
Logged

https://gifs.com/gif/yx1MpB
Katarameno
Διεστραμμένος
**********
Posts: 23573


Music@ ♫♪♯ https://mixupload.com/u/Katarameno/ ♫♪♯


View Profile WWW
Re: Απορία για vba σε Microsoft Excel
« Reply #2 on: March 18, 2016, 23:36:41 pm »

Visual Basic for Applications? Δεν είναι εδώ και χρόνια discontinued?  Εδώ σταμάτησαν την υποστήριξη της Visual Basic 6, την VBA  θα συνεχίσουν να υποστηρίζουν? Σε κάθε περίπτωση αν δε μπορούμε να δούμε τον κώδικα, δε μπορούμε και να καταλάβουμε τι κάνεις για να βρούμε και που κάνεις το λαθάκι...
Logged

©2008-2025, Καταραμένο Αροξόλ™ | Μουσικούλα για να (μην) διαβάζετε (καλύτερα) ♫♪♯ https://mixupload.com/u/Katarameno/creative ♫♪♯ & https://www.patreon.com/Katarameno ♫♪♯ ή από καλύτερους dj: https://www.bassdrive.com/ / https://mixing.dj/ / https://lifefm.tv/ / https://nubreaks.com/stream-links/nubreaks-podcast/ ♫♪♯
ΝΔ: Στα Εξάρχεια (στους πρόσφυγες, στους φοιτητές, στους φτωχούς) μαγκιές, στο Μαρινάκη πίπες
pocitician
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 130



View Profile
Re: Απορία για vba σε Microsoft Excel
« Reply #3 on: March 21, 2016, 11:42:45 am »

Sub Button17()

Dim number0 As Integer, number1 As Integer, numberhourly As Integer
number0 = 2
number1 = 5
numberhourly = 2





Do Until (number1 > 43)

If ThisWorkbook.Sheets("ThermalUnitsData").Cells(number1, 42).Value = "One Block up to Pmax with a MAR" Then


Dim i As Integer, help As Integer
help = 0
i = 2

Do While (help = 0)
If ThisWorkbook.Sheets("AllThermalOffers").Cells(i, 1).Value = ThisWorkbook.Sheets("ThermalUnitsData").Cells(number1, 3).Value Then
help = i
End If
i = i + 24
Loop



Dim min As Integer
min = ThisWorkbook.Sheets("AllThermalOffers").Cells(help, 4).Value

For i = help + 1 To help + 23
If ThisWorkbook.Sheets("AllThermalOffers").Cells(i, 4) < min Then
min = ThisWorkbook.Sheets("AllThermalOffers").Cells(i, 4)
End If
Next


Dim MAR As Integer
MAR = ThisWorkbook.Sheets("AllThermalOffers").Cells(help, 3).Value / min


ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 1).Value = "Block Order"
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 2).Value = "Supply or Demand"
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 3).Value = "Block Order Number"
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 4).Value = "Node"
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 5).Value = "Area"
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 6).Value = "Linked"
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 7).Value = "Linked BO"
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 8).Value = "Exclusive Group"
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 9).Value = "Profile or Regular"
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 10).Value = "Minimum Acceptance Ratio"
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 11).Value = "Submitted price [€/MWh]"
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 12).Value = "Submitted quantity [€/MW]"

Dim j As Integer
j = 1
For i = 13 To 36
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, i).Value = "T" & j
j = j + 1
Next


number0 = number0 + 1

ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 1).Value = ThisWorkbook.Sheets("ThermalUnitsData").Cells(number1, 3).Value 'ÂÜæïõìå ôï üíïìá ôçò ìïíÜäáò2
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 2).Value = 1
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 3).Value = 1
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 6).Value = 0
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 7).Value = 0
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 8).Value = 0
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 9).Value = 2
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 10).Value = MAR

Dim submittedprice As Integer, submittedquantity As Integer, pricehelp As Integer

sumbmittedprice = 0
pricehelp = 0

For i = 6 To 15
submittedprice = submittedprice + ThisWorkbook.Sheets("AllThermalOffers").Cells(help, i).Value * ThisWorkbook.Sheets("AllThermalOffers").Cells(help, i + 1).Value
pricehelp = pricehelp + ThisWorkbook.Sheets("AllThermalOffers").Cells(help, i).Value
Next


submittedprice = submittedprice / pricehelp
submittedquantity = min

ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 11).Value = submittedprice
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 12).Value = submittedquantity

For i = 13 To 36
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, i).Value = 1
Next


ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(numberhourly, 1).Value = "Offer"
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(numberhourly, 2).Value = "Hour"
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(numberhourly, 14).Value = "Offer"
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(numberhourly, 15).Value = "Hour"

j = 1
For i = 3 To 12
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(numberhourly, i).Value = "sb" & j
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(numberhourly, i + 12).Value = "sb" & j
j = j = 1
Next

For i = numberhourly + 1 To numberhourly + 23
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(i, 1).Value = "S" & number1 - 4 'Ãéá ôçí ðñþôç ìïíÜäá ãéá ðáñÜäåéãìá åßíáé S1 êïê!
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(i, 2).Value = "T" & j
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(i, 14).Value = "S" & number1 - 4
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(i, 15).Value = "T" & j
j = j + 1
Next

Dim numberhelp As Integer
numberhelp = numberhourly + 1


For i = help To i = help + 23
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(numberhelp, 16).Value = ThisWorkbook.Sheets("AllThermalOffers").Cells(i, 4).Value - min 'Ç ðïóüôçôá
numberhelp = numberhelp + 1
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(numberhelp, 3).Value = submittedprice + 0.001 'Ç ôéìÞ!
numberhelp = numberhelp + 1
Next



End If

number1 = number1 + 1
number0 = number0 + 2
numberhourly = numberhourly + 26

Loop

Αυτό είναι ένα μέρος το κώδικα. Ενώ δηλαδή δεν μου "εμφανίζει" κάποια λάθη στον κώδικα, όποτε πάω να τον τρέξω, κολλάει και δεν τον τρέχει ποτέ

Any help?

(χρησιμοποίησα excel 2007 αλλά οι εντολές είναι excel 2010, έψαξα για διαφορές μεταξύ 2007 και 2010 αλλά δεν ήταν κάτι το ιδιαίτερο, απ' αυτά που βρήκα τουλάχιστον)

Ευχαριστώ εκ των προτέρων



Logged

pocitician
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 130



View Profile
Re: Απορία για vba σε Microsoft Excel
« Reply #4 on: March 21, 2016, 13:32:37 pm »

Μου εμφανίζει το παρακάτω πρόβλημα Sad
Logged

Αιμιλία η φτερωτή χελώνα
Διεστραμμένος
**********
Gender: Female
Posts: 15580


Έξω η μπουχεσαρία απ'το ΤΗΜΜΥ


View Profile WWW
Re: Απορία για vba σε Microsoft Excel
« Reply #5 on: March 21, 2016, 13:43:19 pm »

Quote from: pocitician on March 21, 2016, 11:42:45 am
j = 1
For i = 3 To 12
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(numberhourly, i).Value = "sb" & j
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(numberhourly, i + 12).Value = "sb" & j
j = j = 1
Next
ayto mhpws? Shocked

υγ: για την απορια του Katarameno, απ οσο ξερω σε τωρινα μεταπτυχιακα πολιτικων μηχανικων κανουν VBA. Οποτε, οχι.
Logged

"Όσοι περιμένουν να βρουν πατημένα χνάρια θα απογοητευτούν γρήγορα. Όσοι δεν είναι έτοιμοι να πέσουν και να ξανασηκωθούν, να χάσουν τον δρόμο τους και να τον ξαναβρούν, να αγγίξουν όχι μια και δύο αλλά δέκα και εκατό φορές τον πάτο της έσχατης αμφιβολίας για τα σχέδια τους, για τις ιδέες τους, για τους συντρόφους τους, και για τους ίδιους τους εαυτούς τους, να αναμετρηθούν με τα χίλια δυο πρόσωπα της απόγνωσης και να ξανανέβουν στον αφρό, είναι καλύτερα να περιμένουν την κοινωνική αλλαγή απ' τον Αι Βασίλη ή, πράγμα που δεν διαφέρει πολύ, από κάποια αψεγάδιαστη δικαιωμένη "πρωτοπορία" .Εμείς δεν έχουμε να προσφέρουμε παρά την άχαρη γοητεία της καινούριας προσπάθειας, την ιστορική βεβαιότητα για τον σκοπό, την πάλη για τον ποιοτικό εμπλουτισμό του μαζί με την αδιάκοπη κριτική για τα μέσα, την στράτευση σε μια υπόθεση που χρειάζεται μαχητές αλλά θέλει να καταργήσει τους στρατιώτες"

https://www.facebook.com/arage.eaak  Knuppel
pocitician
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 130



View Profile
Re: Απορία για vba σε Microsoft Excel
« Reply #6 on: March 21, 2016, 13:46:22 pm »

Oh yes, αλλά και πάλι το overflow θέμα δεν λύθηκε Sad
Logged

pocitician
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 130



View Profile
Re: Απορία για vba σε Microsoft Excel
« Reply #7 on: March 22, 2016, 19:53:11 pm »

Αυτός είναι ο πλήρης κώδικας. Στην ουσία "διαβάζει" δεδομένα από δυο φύλλα εργασίας (ThermalUnitsData και AllThermalOffers) και "γράφει" στα ThermalBlockOffers και ThermalHourlyOffers φύλλα εργασίας. Αλλά όποτε το τρέχω "κολλάει"...

Υ.Γ.: Τα αλαμπουρνέζικα που εμφανίζονται είναι σχόλια για την κάθε εντολή

Sub Offers()

Dim number0 As Integer, number1 As Integer, numberhourly As Integer
number0 = 2
number1 = 5
numberhourly = 2





Do While (number1 >= 5 & number1 <= 43)

If ThisWorkbook.Sheets("ThermalUnitsData").Cells(number1, 42).Value = "One Block up to Pmax with a MAR" Then


Dim i As Integer, help As Integer
help = 0
i = 2

Do While (help = 0)
If ThisWorkbook.Sheets("AllThermalOffers").Cells(i, 1).Value = ThisWorkbook.Sheets("ThermalUnitsData").Cells(number1, 3).Value Then
help = i
End If
i = i + 24
Loop

Dim min As Integer
min = ThisWorkbook.Sheets("AllThermalOffers").Cells(help, 4).Value

For i = help + 1 To help + 23
If ThisWorkbook.Sheets("AllThermalOffers").Cells(i, 4) < min Then
min = ThisWorkbook.Sheets("AllThermalOffers").Cells(i, 4)
End If
Next

Dim MAR As Integer
MAR = ThisWorkbook.Sheets("AllThermalOffers").Cells(help, 3).Value / min



ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 1).Value = "Block Order"
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 2).Value = "Supply or Demand"
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 3).Value = "Block Order Number"
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 4).Value = "Node"
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 5).Value = "Area"
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 6).Value = "Linked"
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 7).Value = "Linked BO"
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 8).Value = "Exclusive Group"
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 9).Value = "Profile or Regular"
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 10).Value = "Minimum Acceptance Ratio"
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 11).Value = "Submitted price [€/MWh]"
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 12).Value = "Submitted quantity [€/MW]"

Dim j As Integer
j = 1
For i = 13 To 36
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, i).Value = "T" & j
j = j + 1
Next

number0 = number0 + 1

ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 1).Value = ThisWorkbook.Sheets("ThermalUnitsData").Cells(number1, 3).Value 'ÂÜæïõìå ôï üíïìá ôçò ìïíÜäáò2
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 2).Value = 1
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 3).Value = 1
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 6).Value = 0
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 7).Value = 0
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 8).Value = 0
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 9).Value = 2
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 10).Value = MAR

Dim submittedprice As Integer, submittedquantity As Integer, pricehelp As Integer

sumbmittedprice = 0
pricehelp = 0

For i = 6 To 15
submittedprice = submittedprice + ThisWorkbook.Sheets("AllThermalOffers").Cells(help, i).Value * ThisWorkbook.Sheets("AllThermalOffers").Cells(help, i + 1).Value
pricehelp = pricehelp + ThisWorkbook.Sheets("AllThermalOffers").Cells(help, i).Value
Next

submittedprice = submittedprice / pricehelp
submittedquantity = min

ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 11).Value = submittedprice
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 12).Value = submittedquantity

For i = 13 To 36
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, i).Value = 1
Next

ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(numberhourly, 1).Value = "Offer"
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(numberhourly, 2).Value = "Hour"
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(numberhourly, 14).Value = "Offer"
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(numberhourly, 15).Value = "Hour"

j = 1
For i = 3 To 12
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(numberhourly, i).Value = "sb" & j
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(numberhourly, i + 12).Value = "sb" & j
j = j + 1
Next

For i = numberhourly + 1 To numberhourly + 23
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(i, 1).Value = "S" & number1 - 4
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(i, 2).Value = "T" & j
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(i, 14).Value = "S" & number1 - 4
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(i, 15).Value = "T" & j
j = j + 1
Next

Dim numberhelp As Integer
numberhelp = numberhourly + 1

For i = help To i = help + 23
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(numberhelp, 16).Value = ThisWorkbook.Sheets("AllThermalOffers").Cells(i, 4).Value - min 'Ç ðïóüôçôá
numberhelp = numberhelp + 1
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(numberhelp, 3).Value = submittedprice + 0.001
numberhelp = numberhelp + 1
Next



number1 = number1 + 1
number0 = number0 + 2
numberhourly = numberhourly + 26

End If





If ThisWorkbook.Sheets("ThermalUnitsData").Cells(number1, 42).Value = "One block at MSG and linked blocks up to Pmax" Then


Dim i1 As Integer
Dim help1 As Integer
help1 = 0
i1 = 2

Do While (help1 = 0)
If ThisWorkbook.Sheets("AllThermalOffers").Cells(i1, 1).Value = ThisWorkbook.Sheets("ThermalUnitsData").Cells(number1, 3).Value Then
help1 = i1
End If
i1 = i1 + 24
Loop


ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 1).Value = "Block Order"
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 2).Value = "Supply or Demand"
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 3).Value = "Block Order Number"
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 4).Value = "Node"
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 5).Value = "Area"
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 6).Value = "Linked"
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 7).Value = "Linked BO"
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 8).Value = "Exclusive Group"
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 9).Value = "Profile or Regular"
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 10).Value = "Minimum Acceptance Ratio"
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 11).Value = "Submitted price [€/MWh]"
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 12).Value = "Submitted quantity [€/MW]"

number0 = number0 + 1

ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 1).Value = ThisWorkbook.Sheets("ThermalUnitsData").Cells(number1, 3).Value 'ÂÜæïõìå ôï üíïìá ôçò ìïíÜäáò2
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 2).Value = 1
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 3).Value = 1
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 6).Value = 0
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 7).Value = 0
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 8).Value = 0
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 9).Value = 2
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 10).Value = 1

Dim submittedprice1 As Integer, submittedquantity1 As Integer

submittedprice1 = (((ThisWorkbook.Sheets("AllThermalOffers").Cells(help1, 6).Value * ThisWorkbook.Sheets("AllThermalOffers").Cells(help1, 7).Value) + ThisWorkbook.Sheets("AllThermalOffers").Cells(help1, 9).Value * (ThisWorkbook.Sheets("AllThermalOffers").Cells(help1, 3).Value - ThisWorkbook.Sheets("AllThermalOffers").Cells(help1, 8).Value)) / ThisWorkbook.Sheets("AllThermalOffers").Cells(help1, 3).Value)


submittedquantity1 = ThisWorkbook.Sheets("AllThermalOffers").Cells(help1, 3).Value

ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 11).Value = submittedprice1
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0, 12).Value = submittedquantity1


Dim MSG As Integer, sum As Integer, j1 As Integer

MSG = ThisWorkbook.Sheets("AllThermalOffers").Cells(help1, 3).Value
sum = 0
i1 = 2
j1 = 7

Do While (sum < ThisWorkbook.Sheets("AllThermalOffers").Cells(help, 4).Value)
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0 + 1, 1).Value = "BO" & i1
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0 + 1, 2).Value = 1
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0 + 1, 3).Value = i
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0 + 1, 6).Value = 1
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0 + 1, 7).Value = 1
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0 + 1, 8).Value = 0
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0 + 1, 9).Value = 1
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0 + 1, 10).Value = 1 'Ôï MAR åßíáé 1!
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0 + 1, 11).Value = ThisWorkbook.Sheets("AllThermalOffers").Cells(help1, j1).Value 'Ôçí ðñþôç ãéá ðáñÜäåéãìá èá åßíáé ç ôéìÞ P1 êïê!
ThisWorkbook.Sheets("ThermalBlockOffers").Cells(number0 + 1, 12).Value = ThisWorkbook.Sheets("AllThermalOffers").Cells(help1, j1 - 1).Value - ThisWorkbook.Sheets("AllThermalOffers").Cells(help1, j1 + 1).Value 'Ç ðïóüôçôá åßíáé ç äéáöïñÜ ôùí MW1-MW2 ãéá ðáñÜäåéãìá!
sum = sum + MSG + (ThisWorkbook.Sheets("AllThermalOffers").Cells(help1, j1 - 1).Value - ThisWorkbook.Sheets("AllThermalOffers").Cells(help1, j1 + 1).Value)
i1 = i1 + 1
j1 = j1 + 1
Loop

Dim hourlyquantity1 As Integer
hourlyquantity1 = ThisWorkbook.Sheets("AllThermalOffers").Cells(help1, 4).Value - sum 'Pmax - sum

If hourlyquantity1 > 0 Then

ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(numberhourly, 1).Value = "Offer"
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(numberhourly, 2).Value = "Hour"
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(numberhourly, 14).Value = "Offer"
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(numberhourly, 15).Value = "Hour"

j1 = 1
For i1 = 3 To 12
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(numberhourly, i1).Value = "sb" & j1
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(numberhourly, i1 + 12).Value = "sb" & j1
j = j  + 1
Next

For i1 = numberhourly + 1 To numberhourly + 23
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(i1, 1).Value = "S" & number1 - 4
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(i1, 2).Value = "T" & j1
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(i1, 14).Value = "S" & number1 - 4
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(i1, 15).Value = "T" & j1
j1 = j1 + 1
Next

Dim numberhelp1 As Integer
numberhelp1 = numberhourly + 1

For i1 = help1 To i1 = help1 + 23
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(numberhelp1, 16).Value = hourlyquantity
numberhelp1 = numberhelp1 + 1
ThisWorkbook.Sheets("ThermalHourlyOffers").Cells(numberhelp1, 3).Value = ThisWorkbook.Sheets("AllThermalOffers").Cells(help1, j1).Value
numberhelp1 = numberhelp1 + 1
Next

End If


number1 = number1 + 1
number0 = number0 + 2
numberhourly = numberhourly + 26

End If

Loop

End Sub



Sorry για το πολύ info και το πρήξιμο, και ευχαριστώ εκ των προτέρων...  Sad Sad Sad


Logged

Obarack Sand
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Posts: 503


View Profile
Re: Απορία για vba σε Microsoft Excel
« Reply #8 on: March 23, 2016, 02:04:00 am »

Είσαι σίγουρος πως δεν είναι πιο εύκολο/βολικό/απλό να χειριστείς τα δεδομένα αυτά με κάποιο άλλο πρόγραμμα εκτός excel;
R ή/και Matlab νομίζω θα βόλευαν.
Logged

https://gifs.com/gif/yx1MpB
pocitician
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 130



View Profile
Re: Απορία για vba σε Microsoft Excel
« Reply #9 on: March 23, 2016, 13:20:09 pm »

Η "απαίτηση" ήταν να γίνουν σε vba excel...  Undecided
Logged

Obarack Sand
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Posts: 503


View Profile
Re: Απορία για vba σε Microsoft Excel
« Reply #10 on: March 23, 2016, 14:22:33 pm »

Δε βοηθάει ιδιαίτερα, αλλά έπρεπε:

Quote from: pocitician on March 23, 2016, 13:20:09 pm
Η "απαίτηση" ήταν να γίνουν σε vba excel...  Undecided

Logged

https://gifs.com/gif/yx1MpB
pocitician
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 130



View Profile
Re: Απορία για vba σε Microsoft Excel
« Reply #11 on: March 23, 2016, 15:46:54 pm »

That helped me a lot!  Grin Grin Grin Grin
Logged

Katarameno
Διεστραμμένος
**********
Posts: 23573


Music@ ♫♪♯ https://mixupload.com/u/Katarameno/ ♫♪♯


View Profile WWW
Re: Απορία για vba σε Microsoft Excel
« Reply #12 on: April 01, 2016, 02:09:17 am »

Δεν μπορείς να το τρέξεις γραμμή γραμμή με breakpoint? Run until ή step over κτλ ή άλλο τρόπο για να δεις που ακριβώς σου χτυπάει?

Η VBA φυσικά και υπάρχει ακόμα Αιμιλία, άλλο όμως υπάρχει και άλλο υποστηρίζεται επίσημα από την Microsoft.

Visual Basic for Applications (VBA) is an implementation of Microsoft's discontinued event-driven programming language, Visual Basic 6, and its associated integrated development environment (IDE).

As of July 1, 2007, Microsoft no longer offers VBA distribution licenses to new customers. Microsoft intended to add .NET-based languages to the current version of VBA ever since the release of the .NET Framework,[2] of which versions 1.0 and 1.1 included a scripting runtime technology named Script for the .NET Framework.[3] Visual Studio .NET 2002 and 2003 SDK contained a separate scripting IDE called Visual Studio for Applications (VSA) that supported VB.NET.[4][5][6]

https://en.wikipedia.org/wiki/Visual_Basic_for_Applications
« Last Edit: April 01, 2016, 02:12:45 am by Katarameno » Logged

©2008-2025, Καταραμένο Αροξόλ™ | Μουσικούλα για να (μην) διαβάζετε (καλύτερα) ♫♪♯ https://mixupload.com/u/Katarameno/creative ♫♪♯ & https://www.patreon.com/Katarameno ♫♪♯ ή από καλύτερους dj: https://www.bassdrive.com/ / https://mixing.dj/ / https://lifefm.tv/ / https://nubreaks.com/stream-links/nubreaks-podcast/ ♫♪♯
ΝΔ: Στα Εξάρχεια (στους πρόσφυγες, στους φοιτητές, στους φτωχούς) μαγκιές, στο Μαρινάκη πίπες
Katarameno
Διεστραμμένος
**********
Posts: 23573


Music@ ♫♪♯ https://mixupload.com/u/Katarameno/ ♫♪♯


View Profile WWW
Re: Απορία για vba σε Microsoft Excel
« Reply #13 on: April 01, 2016, 12:49:36 pm »

Γενικά VB/VBA δεν ξέρω και δε μου άρεζε και ποτέ (ειδικά το μπάχαλο με τα είδη μεταβλητών) αλλά αυτό μου φαίνεται κάπως :

Dim MAR As Integer
MAR = ThisWorkbook.Sheets("AllThermalOffers").Cells(help, 3).Value / min

Εδώ κάνεις διαίρεση δηλαδή? Και πως το ορίζεις ως integer το αποτέλεσμα?

Το ίδιο και εδώ :
Dim submittedprice As Integer, submittedquantity As Integer, pricehelp As Integer

sumbmittedprice = 0
pricehelp = 0
.....
submittedprice = submittedprice / pricehelp
« Last Edit: April 01, 2016, 12:53:42 pm by Katarameno » Logged

©2008-2025, Καταραμένο Αροξόλ™ | Μουσικούλα για να (μην) διαβάζετε (καλύτερα) ♫♪♯ https://mixupload.com/u/Katarameno/creative ♫♪♯ & https://www.patreon.com/Katarameno ♫♪♯ ή από καλύτερους dj: https://www.bassdrive.com/ / https://mixing.dj/ / https://lifefm.tv/ / https://nubreaks.com/stream-links/nubreaks-podcast/ ♫♪♯
ΝΔ: Στα Εξάρχεια (στους πρόσφυγες, στους φοιτητές, στους φτωχούς) μαγκιές, στο Μαρινάκη πίπες
pocitician
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 130



View Profile
Re: Απορία για vba σε Microsoft Excel
« Reply #14 on: April 01, 2016, 12:56:35 pm »

Το είχα βρει το πρόβλημα τελικά. Thanks bro! Μου εμφάνιζε πρόβλημα με την εξωτερική While-Until και τελικά την αντικατέστησα με μια if και λύθηκε το πρόβλημα!  Smiley
Logged

Pages: [1] 2 Go Up Print
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Scribbles2 | TinyPortal © Bloc | XHTML | CSS
Loading...