-
Περιεχόμενα
72 -
Εντάχθηκε
-
Τελευταία επίσκεψη
-
Days Won
5
Τύπος περιεχομένου
Profiles
Φόρουμ
Downloads
Gallery
Ειδήσεις
Media Demo
Store
Δημοσιεύσεις δημοσιεύτηκε από apostolos55
-
-
Χαίρετε φίλοι και συνάδελφοι
Επειδή το Ολογράφως ήταν χαοτικό, έκανα μια πιο "εξελιγμένη" έκδοση με πιο συμαζεμένο κώδικα και σχόλια.
Περιλαμβάνει δυνατότητα προσδιορισμού δεκαδικών, προσθήκης ή όχι μονάδων και αλλαγής μονάδων! Όλα αυτά από το κάλεσμα της συνάρτησης, χωρίς να μπαίνουμε σε κώδικα... Δέχεται ως αριθμό: αριθμό ή κείμενο.
Το ανέβασα και στο Λογισμικό 11.1 (νομίζω) αλλά το στέλνω και εδώ για πιο ειδικά. Για χρήση αρκεί η αντιγραφή του module1 σε οποιοδήποτε φύλλο (sheet) σας...
Γενικά η VBA αναφέρει ότι για να ληφθούν υπόψη Regional Settings επιβάλεται χρήση της CDBL=string ... Εμένα μου δουλέυει αλλά δοκιμάστε το και εσείς.
Φυσικά αναμένω σχόλια, προτάσεις κλπ
- 1
-
Ωραίος!!!
Κάτι δεν μου δουλεύει σωστά:
? olografws(101558.13)
ΕΚΑΤΟΝ ΧΙΛΙΑΔΕΣ ΠΕΝΤΑΚΟΣΙΑ ΠΕΝΗΝΤΑ ΟΚΤΩ ΚΑΙ ΔΕΚΑ ΤΡΙΑ
.........../\... λείπει το ΜΙΑ
-
υπαρχει καποιος συνδυασμος που να ειναι κοινος και στα αγγλικα και ελληνικα πληκτρα για διευκολυνση
το ctrl+insert σκέφτομαι
δυστυχώς δεν παίρνει νούμερα που θα βόλευε.
κάνε νέα ρουτίνα (sub) Που να καλεί αυτή που θες και αντιστοίχισε την στο αλλόγλωσσο πλήκτρο!
πχ. αν καλείς macro2 με ctrl+x τότε:
Sub Call_Macro2()
' Keyboard Shortcut: Ctrl+χ
macro2()
End Sub
και alt+f8 ...
-
καλησπέρα, μια γρήγορη απάντηση και ελπίζω να σε καλύψω (γίνεται χρήση μακροεντολής που ίσως να μην τη θες...):
alt+F11 --> VBA Editor
στο VBAProject(paradeigma.xls) δεξί κλικ πάνω σε κάποιο sheet και "add module"
στο module μέσα (με κλικ πάνω του ή δεξί κλικ και view code) copy-paste το παρακάτω (SUB ... μέχρι και END SUB):
--------------------
Sub Macro2()
'
' Macro2 Macro
'
' Keyboard Shortcut: Ctrl+x
'
a = ActiveCell.Row
Rows(a + 1).Select
Selection.Insert
End Sub
----------------------
Alt+F8 --> Macro
επιλέγεις το macro2 και Options και βάζεις το x ή όποιο πλήκτρο θες για να το καλείς (shortcut key). Οκ....
τώρα επιλέγεις το κελί και ctrl+x (ή ότι έβαλες)... και ιδού
προσοχή! το πλήκρο εξαρτάται από την γλώσσα, ίσως και από το άν είναι κεφαλαία-μικρά
PS: ελπίζω να κρατάει κανείς χρόνο απάντησης...
- 2
-
τι λέτε και για αυτή την εκδοχη?
http://www.michanikos.gr/downloads.php?do=file&id=1393
λίγοι αυτοματισμοί παραπάνω δεν βλάπτουν
- 1
-
Στο από 25-06-2010, 09:16 μήνυμα έχω κάνει μια διορθωσούλα με χρήση “formulaR1C1” η οποία λύνει το θεματάκι. Κάνε πάλι copy-paste τις συναρτήσεις και διάβασε τα σχόλια στην δεύτερη για φύλλα και ελληνικό Excel
Η Sumif() είναι στάνταρ συνάρτηση του Excel εδώ και πολλά χρόνια… (σαμιφ)
Όπως ανέφερα κοιτώντας τα προγράμματά μου για ΙΚΑ με τα σχόλιά τους θα βρείς ακριβώς αυτό που θέλεις… με λίγο υπομονή και επιμονή (απαντώντας σε σχόλια ως 28/6)
Η Getif() είναι η εξής (κάντη copy-paste σε module για να φαίνεται με complete-help από excel):
' Syntasetai akribws opws h SUMIF, dhladh "GetIf (Range1;Criteria;Range2)"
' kai briskei range2(i) wste range1(i)=criteria
' Pi8ano na doyleuei kai se sthles alla to egrapsa gia grammes
' Genikhs xrhshs xwris opoiondhpote elegxo h beltistopoihsh
'
' Goylandris Apostolos, Apr 2008
'
Public Function GetIf(a, b, c)
GetIf = "-": counter = 0: counter2 = 0
For Each dum1 In a ' Search for index
counter = counter + 1
If b = Trim(dum1) Then Exit For
Next
If b = Trim(dum1) Then
For Each dum1 In c ' Use index to find equivalent
counter2 = counter2 + 1
If counter2 = counter Then GetIf = dum1: Exit For
Next
End If
End Function
-
@st2 και γενικότερα
Αυτό που ζητάς είναι εξαιρετικά δύσκολο. Το εύκολο (αλλά με δουλίτσα για στήσιμο) είναι να φορμάρεις πλήρως μια γραμμή, να κάνεις χρήση της GetIf() (από τα προγράμματά μου για ΙΚΑ) ή της ...vlookup ώστε κάθε φορά που θα προσθέτεις παίχτη να συμπληρώνονται όλα αυτόματα. Για να επεκτείνεις της μορφοποιήσεις θα κάνεις copy-paste προ-μορφοποιημένα κελιά και θα διορθώνεις το Link στον παίχτη.
Δες καλά τα προγραμματάκια και τα σχολιά τους. Κάνουν αυτό που θες... αλλά με άλλη προσέγγιση
Την vlookup δεν την έχω δουλέψει αλλά έχω δεί ότι κάνει ~ αυτό που θες. Η getif() το κάνει ακριβώς, συντάσεται πανεύκολα (σαν την sumif) και ...την δίνω και Δωρεάν
-
@georgecv
Γίνεται! Το κάνεις "trap" με vba στο sheet (1) ή workbook (2)
πάτα Alt+F11 (για VBA Editor)
(1) copy-paste το παρακάτω στο worksheet:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 15 And Target.Column = 3 Then
Cells(22, 6).formular1c1 = "="+Target.Value
End If
End Sub
---| δηλαδή αλλαγές στο κελί Cell(15,3) ή C15 μεταφέρονται στο cell(22,6) ή F22
(2) copy-paste το παρακάτω στο thisworkbook:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If LCase(Sh.Name) = "sheet1" And (Target.Row = 15 And Target.Column = 6) Then
Sh.Cells(22, 8 ).formular1c1 = "=" + Target.Value
End If
End Sub
---| Πρόσεξε ότι εδώ κάνουμε trap σε φύλλο και σε κελί!!! και συγκεκριμένα sheet1.F15 --> sheet1.H22
Ίσως σε Ελληνικό excel χρειαστεί "φύλλο1" αντί sheet1 αλλά δεν είμαι 100% σίγουρος. Αν δε δουλέψει κάνε παγίδευση με Sh.Index=1 ή 2 ... {αντί του LCase(Sh.Name) = "sheet1"}
Εννοείται ότι η παγίδευση μπορεί να αλλάξει κατά βούληση και η αντιστοίχηση να γίνεται σχετικά (relative)
sh και target είναι το φύλλο και κελί που προκάλεσαν την αλλαγή
Αυτονόητο είναι ότι παγίδευση σε πολλαπλά κελιά με αυτόματες αλλαγές αναμεταξύ τους (από VBA και Excel formulas) μπορεί να προκαλέσει σύγχηση και εξαιρετικά "βαρύ" πρόγραμμα...
-
Ωραίο Θέμα
Ασχολούμαι πολλά πολλά χρόνια με QBasic, Vb και VBA οπότε θα προσπαθήσω όσο μπορώ να συνεισφέρω.
Για Αρχή, αλλά όχι για αρχάριους, μπορείτε να δείτε τον κώδικα στο αρχείο http://www.michanikos.gr/downloads.php?do=file&id=1031 που παίρνει δεδομένα από πολλά sheets και δημιουργεί αρχείο για το ΙΚΑ. Έχω πολλά σχόλια σε Γκρικλισ και θα κατανοήσετε εύκολα τι παίζει.
Στο "Module 1" οπωσδήποτε δείτε την Getif (θα έπρεπε να την είχε το Excel) και τις τελευταίες που γλιτώνουν κόπο και χώρο...
Στο "sheet5 (ΑΠΔ gen)" φαίνεται τρόπος να καλέσω συνάρτηση από αλλαγή σε κελί
Στο "ThisWorkbook" φαίνεται εργασίες που εκκινούν σε "κατάλληλο" sheet
Και μερικά Links για πιο προχωρημένους
http://www.java2s.com/Code/VBA-Excel-Access-Word/Excel/CatalogExcel.htm
http://spreadsheetpage.com/index.php/tips
http://www.xtremevbtalk.com/forumdisplay.php?f=14
http://www.eggheadcafe.com/searchform.aspx?search=Excel%20macro
και φυσικά της "μαμάς" http://msdn.microsoft.com/en-us/library/bb979621(v=office.12).aspx
Παρατήρηση: Μην κάνετε διαδοχικές δημοσιεύσεις. Για να πραγματοποιήσετε οποιαδήποτε αλλαγή στο περιεχόμενο του κειμένου ή για να συμπληρώσετε το μήνυμα που δημοσιεύσατε, χρησιμοποιείστε την εντολή "Edit".
Παρακαλώ διαβάστε τους Κανόνες Συμμετοχής!
Ευχαριστώ, ilias
Excel - Για όσους θέλουν να ψάξουν παραπέρα ...
in Προγράμματα Η/Υ
Δημοσιεύτηκε
ST2:
Το Αρχείο ενημερώθηκε γιατί οι αλλαγές ήταν αρκετές. Ξανακατεβάστε παρακαλώ.
για το 101.000,01 έχεις δίκιο, δεν το είδα καθόλου. Με παίδεψε λιγάκι αλλά είναι οκ τώρα. Το ...και ένα ή και δέκα εξαρτάται από την ακρίβεια (μπορεί κάποιος να θέλει χιλιοστά) οπότε δεν είναι λάθος
Επίσης έκανα την πλήρη OlografwsFull και έβαλα τις "μικρότερες" olografws, olografwsEurw, olografwsM-Cm. Παραπάνω ο καθείς ότι χρειάζεται γιατί οι δυνατότητες δέν έχει νόημα να εξαντληθούν εδώ... Απλά καλείς την OlografwsFull όπως αγαπάς κάθε φορά πχ:
public function Kalwopws8elw(Ari8mos_mou)
Kalwopws8elw=OlografwsFull(Ari8mos_mou,Epilogh Monadas, typikes monades,dekadikoi)
end function
PS1: Τώρα θα πρέπει να παρακαλέσω τους Admin να ενημερώσουν με το ανανεωμένο αρχείο και το Olografws στην 11.1
PS2: Κάτι πήγε στραβά προηγουμένως και το αρχείο μολις το ξαναανέβασα. Συγνώμη για το μπέρδεμα αλλά ειλικρινά δεν ξέρω πως έγινε. Μέγεθος 48.7Kb με 2 αρχεία μέσα, ~12:36 ώρα δημιουργίας.