Μετάβαση στο περιεχόμενο

Samdreamth

Core Members
  • Περιεχόμενα

    256
  • Εντάχθηκε

  • Τελευταία επίσκεψη

  • Days Won

    1

Everything posted by Samdreamth

  1. Γιώργο δεν ισχύει αυτό... Το Excel 2010 έχει τον ίδιο αριθμό γραμμών με το Excel 2007. Δες και εδώ: http://office-watch....t/n.aspx?a=1408 Εσύ όμως ξέρω ότι χρησιμοποιείς το 2003....
  2. Λοιπόν, έγραψα λίγο κώδικα στα γρήγορα. Ο παρακάτω κώδικας, βρίσκει την τελευταία τιμή της στήλης Α και στην συνέχεια ανεβαίνει προς τα πάνω. Αν βρει ασυνέχεια στον χρόνο, εισάγει κενές γραμμές και το χρονικό διάστημα. Αν θες, δες και το επισυναπτόμενο αρχείο. Στις κίτρινες γραμμές υπάρχει ασυνέχεια. Αν πατήσεις το κουμπί run οι ασυνέχειες εξαφανίζονται... >Sub TimeDiscontinuity() Dim LastRow As Long Dim i As Long Dim insRows As Long Dim j As Long 'Inserts missing time values, starting from the last row in column A. Application.ScreenUpdating = False With ActiveSheet LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row End With For i = LastRow To 3 Step -1 If Cells(i, 1).Value - Cells(i - 1, 1).Value > 6.94444446708076E-04 Then insRows = ((Cells(i, 1).Value - Cells(i - 1, 1).Value) / 6.94444446708076E-04) - 1 '6.94444446708076E-04 = (1 / (24 * 60)) ActiveSheet.Rows(i & ":" & i + insRows - 1).Insert For j = i To i + insRows - 1 Cells(j, 1) = Cells(j - 1, 1) + 6.94444446708076E-04 Next j End If Next i MsgBox "The missing time values were inserted!", vbInformation, "Done" Application.ScreenUpdating = True End Sub Time Discontinuity.zip
  3. Τα ελληνικά φταίγανε.... Έχω αγγλική έκδοση ενώ εσύ ελληνική... Δες το, τώρα θα πρέπει να δουλεύει >Option Explicit Option Base 1 Sub TransposeData() Dim i As Integer Dim k As Integer Dim arr(1560) As Double Application.ScreenUpdating = False Φύλλο1.Activate 'Θεωρώ ότι τα δεδομένα σου είναι στο 1ο φύλλο, στην περιοχή Α1:GM8 For i = 1 To 195 For k = 1 To 8 arr((i - 1) * 8 + k) = Cells(k, i).Value Next k Next i 'Τη νέα στήλη την περνάω στο 2ο φύλλο Φύλλο2.Activate Range("A1:A1560").Value = WorksheetFunction.Transpose(arr) Application.ScreenUpdating = True End Sub
  4. Όταν σου βγάζει το error πατάς debug και σου επιλέγει αυτή την γραμμή? Μήπως δεν πατάς debug? Σε ρωτάω γιατί όπως βλέπεις όλες οι μεταβλητές δηλώνονται οπότε δεν πρέπει να βγάζει τέτοιο error. Μάλλον κάτι άλλο θα είναι. Παρεμπιπτόντως, στον παραπάνω κώδικα θεωρώ ότι τα δεδομένα σου είναι αριθμοί και όχι πχ κείμενο...
  5. cvlengnr, δες λίγο τον παρακάτω κώδικα. Τον έγραψα στα γρήγορα αλλά νομίζω ότι κάνει αυτό που θες.... >Option Explicit Option Base 1 Sub TransposeData() Dim i As Integer Dim k As Integer Dim arr(1560) As Double Application.ScreenUpdating = False Sheet1.Activate 'Θεωρώ ότι τα δεδομένα σου είναι στο 1ο φύλλο, στην περιοχή Α1:GM8 For i = 1 To 195 For k = 1 To 8 arr((i - 1) * 8 + k) = Cells(k, i).Value Next k Next i 'Τη νέα στήλη την περνάω στο 2ο φύλλο Sheet2.Activate Range("A1:A1560").Value = WorksheetFunction.Transpose(arr) Application.ScreenUpdating = True End Sub
  6. Προς όλους του «καμένους» με την VBA: Εδώ θα βρείτε μια εφαρμογή σε Excel με την οποία θα μπορείτε να δημιουργήσετε έναν πίνακα με όλες τις υπορουτίνες/συναρτήσεις που περιέχονται σε όλα τα βιβλία εργασίας ενός φακέλου. Το πλεονέκτημα της συγκεκριμένης εφαρμογής είναι ότι δουλεύει και με κλειδωμένα VBA projects, αρκεί φυσικά να γνωρίζετε τα passwords. Πιστεύω ότι βοηθάει λίγο στην οργάνωση των αρχείων. Ελπίζω να χρησιμεύσει σε κάποιους από εσάς…
  7. Έχεις δίκιο, το έγραψα μάλλον πρόχειρα. Τότε τι θα έλεγες γι' αυτό: =IF(MIN(B1:B7)<0;MIN(B1:B7);SMALL(B1:B7;COUNTIF(B1:B7;0)+1))
  8. Η δική μου γνώμη είναι να κοιτάξεις πρώτα την VBA της Access (δεν ξέρω αν εννοείς VBA όταν λες VB). Είναι ήδη ενσωματωμένη στην Access και μπορείς να κάνεις αρκετά πράγματα (userforms, reports κλπ). Αν το "παιχνίδι χοντρύνει" τότε ναι, η VBA ίσως δεν είναι αρκετή (η VB από την άλλη έχει σαφώς περισσότερες δυνατότητες), αλλά για αυτά που περιγράφεις νομίζω ότι θα σε καλύψει.
  9. Ή εναλλακτικά: =IF(SMALL(B1:B7;1)=0;SMALL(B1:B7;2);SMALL(B1:B7;1)) Θεωρώντας ότι το range που σε ενδιαφέρει είναι το B1:B7.
  10. Για να μην παιδεύεστε με το χέρι, δείτε την παρακάτω συνάρτηση: > Option Explicit Function UKtoGRcharacters(TheWord As String) 'Substitutes the english charachters with 'the corresponding greek ones Dim UKChar() As String Dim GrChar() As String Dim i As Integer UKChar() = Split("A a B b E e H h I i K k M m N n O o P p T t Y y", " ") GrChar() = Split("Α α Β β Ε ε Η η Ι ι Κ κ Μ μ Ν ν Ο ο Ρ ρ Τ τ Υ υ", " ") On Error Resume Next For i = LBound(UKChar) To UBound(UKChar) TheWord = WorksheetFunction.Substitute(TheWord, UKChar(i), GrChar(i)) Next i UKtoGRcharacters = TheWord End Function Αλλάζει αυτόματα τους όμοιους χαρακτήρες από αγγλικά σε ελληνικά...
  11. Κατάλαβα, ή θα έχουμε χοντρά μπλεξίματα ή δεν θα γίνει τίποτα... Όπως και να 'χει σας ευχαριστώ για τις απαντήσεις και για τον χρόνο σας.
  12. Συνεπώς, αν ξεκίνησε εργασίες χωρίς αυτήν είναι "παράνομος". Η πολεοδομία σε αυτή την περίπτωση, θα του κόψει πρόστημο ή απλώς θα του πει βγάλει την άδεια? Έχετε εμπειρίες από παρόμοιες περιπτώσεις? Συγνώμη αν γίνομαι κουραστικός με τις ερωτήσεις, αλλά ειδικά οι γείτονες μου έχουν αρχίσει και έχουν σοβαρό πρόβλημα με τις εργασίες. Μέχρι και ρωγμές δημιουργήθηκαν στο διαμέρισμά τους από τις εργασίες του "από κάτω".
  13. Άρα για να κάνει τροποποίηση στην υπάρχουσα άδεια πάλι θα πρέεπει να πάει στην πολεοδομία, σωστά?
  14. Η αλήθεια είναι ότι κι εγώ το ΙΚΑ είχα κατά νου, γιατί ο "μάστορας" δεν μου φαίνεται καθόλου νόμιμος. Για την φέρουσα κατασκευή, το υπέθεσα και γι' αυτό ζήτησα την γνώμη των πιο σχετικών. Προφανώς και αν πχ γκρεμίσεις κολώνα θα έχεις πρόβλημα. Οι σωλήνες όμως ΔΕΝ είναι ομβρίων! Σκέψου ότι αλλάζει θέση στην κουζίνα (για το μπάνιο δεν είμαι σίγουρος) και θα πρέπει με κάποιον τρόπο να οδηγήσουν τα νερά στην αποχετευση. Συνεπώς, εδώ μάλλον θα έχει πρόβλημα αφού ο σωλήνας θα περνάει από την πρόσοψη της πολυκατοικίας (εδεχομένως θα είναι "καμουφλαρισμένος" μέσα σε γυψοσανίδα)..
  15. Με κάλυψες!!! Σ' ευχαριστώ πάρα πολύ...
  16. Σ’ ευχαριστώ πολύ stavrosa. Το να γκρεμίσει όμως κάποιος έναν (ή και περισσότερους) εσωτερικό τοίχο δεν νομίζω ότι είναι απλή επισκευή, σωστά? Επίσης, μπορεί κάποιος αυθαίρετα να κάνει εξωτερικό σωλήνα αποχέτευσης? Δεν ξέρω αν με τα παραπάνω αλλάζουν τα πράγματα. Πάντως, οι ιδιοκτήτες του διαμερίσματος που βρίσκονται πάνω ακριβώς από το εν λόγω διαμέρισμα έχουν ήδη υποστεί κάποιες φθορές (σπασίματα βάζων κλπ) και είναι έτοιμοι να το τραβήξουν το θέμα….
  17. Χαιρετώ τους συναδέλφους! Επειδή λόγω ειδικότητας δεν είμαι σχετικός, θα ήθελα την άποψή σας για το παρακάτω θέμα: Εδώ και περίπου ένα μήνα, στην πολυκατοικία που μένω έχει αγοράσει κάποιος ένα διαμέρισμα στον από κάτω όροφο (1ος) και έχει βαλθεί να τρελάνει όλη την πολυκατοικία! Έχει φέρει έναν μάστορα (ο θεός να τον κάνει) ο οποίος γκρεμίζει διάφορους εσωτερικούς τοίχους. Ο ιδιοκτήτης από ότι έμαθα θέλει να αλλάξει την διαρρύθμιση του διαμερίσματος , δηλ, να αλλάξει την θέση της κρεβατοκάμαρας με την κουζίνα. Αυτό συνεπάγεται καινούριες σωληνώσεις, τρυπήματα σε τοίχους, γκρεμίσματα τοίχων κλπ. Εξαιτίας των εργασιών μάλιστα το κατάστημα που βρίσκεται κάτω από το εν λόγω διαμέρισμα πλημύρισε την προηγούμενη εβδομάδα. Η πολυκατοικία είναι 20 χρονών, οπότε θεωρώ ότι τέτοιες αλλαγές δεν μπορεί να τις κάνει αψήφιστα και χωρίς μελέτη. Πχ το γκρέμισμα τοίχων (έστω και εσωτερικών) δεν θα επηρεάσει την στατικότητα όλης της πολυκατοικίας? Από τις διάφορες συζητήσεις με τον «μάστορα» η υπόθεση φαίνεται να «βρωμάει»! Δεν φαίνεται να έχει καμία άδεια. Και ρωτώ: Δεν πρέπει κάποιος να έχει άδεια (πχ μικρής κλίμακας) για να μπορεί να προβεί σε τέτοιες ενέργειες οι οποίες επηρεάζουν το σύνολο της πολυκατοικίας? Δεν απαιτείται και μελέτη πχ από πολιτικό μηχανικό? Σήμερα καλέσαμε την αστυνομία και αυτή μας παρέπεμψε στην πολεοδομία. Η πολεοδομία μπορεί να κάνει κάτι? Θα ήθελα τα φώτα σας. Ευχαριστώ προκαταβολικά! ΥΓ: Ζητώ προκαταβολικά συγνώμη αν έβαλα το θέμα σε λάθος κατηγορία.
  18. gvarth, σε ευχαριστώ. Όντως, σε παρόμοιο μήκος κύματος κινηθήκαμε.. Χαίρομαι που σου έδωσα ιδέες.. dib, σε ευχαριστώ για τα καλά σου λόγια. Το μήκος είναι στις σχεδιαστικές μονάδες του AutoCAD. Για δοκιμή αν θες σχεδίασε πχ 2 γραμμές, χρησιμοποιήσε την εντολή dimension και μετρησε τες. Στη συνέχεια δοκίμασε και το add-in. Θα δεις ότι το άθροισμα του μήκους των γραμμών (εφόσον είναι στο ίδιο layer) θα είναι ίσο με αυτό που σου βγάζει το add-in. Με αυτό τον τρόπο προσωπικά τσέκαρα την εγγυρότητα των αποτελεσμάτων που βγάζει.
  19. 921 downloads

    Με αυτό το add-in - γραμμένο σε VBA - θα μπορείτε να μετρήσετε το συνολικό μήκος των γραμμών ενός layer. Έτσι, αν έχετε σε ένα layer πχ όλες τις σωληνώσεις ή τα καλώδια μιας εγκατάστασης θα μπορείτε με το πάτημα ενός κουμπιού να βρείτε άμεσα το συνολικό τους μήκος. Οδηγίες χρήσης: Ξεζιπάρετε το αρχείο και στην συνέχεια ανοίξτε το AutoCAD. Στην γραμμή εντολών γράψτε VBAMAN. Στο μενού που θα εμφανιστεί πατήστε το κουμπί που γράφει Load. Περιηγηθείτε και βρείτε το παρόν αρχείο με τίτλο Total Length Of Lines Per Layer.dvb. Επιλέξτε να ενεργοποιήσετε τις μακροεντολές (enable macros) και στην συνέχεια πιέστε το κουμπί κλεισίματος (Close). Στην συνέχεια πηγαίνετε στο μενού Tools > Macros ή εναλλακτικά πατήστε ALT + F8 ή απλά γράψτε VBARUN στην γραμμή εντολών. Στο μενού που θα εμφανιστεί πατήστε το κουμπί Run. Θα εμφανιστεί η φόρμα του add-in (βλέπε εικόνα). Στην φόρμα, πατήστε το κουμπί Select Lines και στη συνέχεια επιλέξτε τις γραμμές που θέλετε από το σχέδιο σας (πχ αυτές που αντιστοιχούν στις σωληνώσεις – καλώδια). Μόλις βγείτε από το mode επιλογής (είτε πατώντας οπουδήποτε στο σχέδιο εκτός από γραμμές, είτε κάνοντας δεξί κλικ, είτε απλά πατώντας enter) θα δείτε ότι το listbox αριστερά θα περιέχει όλα τα layers που επιλέξατε, ενώ το μεσαίο listbox θα περιέχει τα μοναδικά layers που επιλέξατε. Τέλος, πατώντας το κουμπί Calculate Length στο δεξί Listbox θα εμφανιστούν τα συνολικά μήκη των γραμμών των μοναδικών layers, ενώ στο textbox από κάτω θα βρίσκεται το άθροισμά τους. Όλες οι τιμές στρογγυλοποιούνται σε 2 δεκαδικά ψηφία. Εφόσον το add-in είναι φορτωμένο δεν χρειάζεται να επαναλάβετε και τα 9 βήματα, παρά μόνο να συνεχίσετε από το 6 και μετά. Υπενθυμίζω ότι όσοι έχετε AutoCAD 2010 ή νεώτερο και δεν έχετε εγκατεστημένη την VBA μπορείτε να την κατεβάσετε από το site της Autodesk. Τέλος, εδώ μπορείτε να βρείτε μια άλλη έκδοση του add-in στην οποία τα αποτελέσματα εγγράφονται σε καινούργιο βιβλίο του excel. Ελπίζω να σας χρησιμεύσει...
  20. Πίνακα με τιμές αγωγιμότητας θα βρείς εδώ: http://www.engineeringtoolbox.com/thermal-conductivity-d_429.html Είναι βέβαια στα αγγλικά. Για ανοξείδωτο χάλυβα ψάξε Stainless Steel. Όπως θα δεις είναι 16, 17 και 19 W/(mK) για θερμοκρασίες 25, 125 και 225 C αντίστοιχα.
  21. Εκτός από την λύση των nested ifs, την οποία σωστά σου πρότειναν τα παιδιά, υπάρχει ευκολότερη λύση αλλά απαιτεί VBA. Παρακάτω είναι μια custom function που έγραψα "στο φτερό" και η οποία κάνει αυτό που ζητάς: >Function Thickness(Cable As Double) Select Case Cable Case 0 To 1.5 Thickness = 1.5 Case 1.5 To 2.5 Thickness = 2.5 Case 2.5 To 4 Thickness = 4 Case 4 To 6 Thickness = 6 'Αν θες προσθέτεις και άλλα cases Case Else Thickness = "Error" End Select End Function
  22. Πάντως, αν θες και την μονάδα στο ίδιο κελί γίνεται. Πώς? Στο κελί που θες να εμφανίζεται πχ 12 Ah, κάνεις δεξί κλικ, επιλέγεις format cells, number και στην συνέχεια custom format. Πχ για την περίπτωση του 12,00 Ah, ο τύπος θα είναι θα είναι 0.00 \Ah. Με αυτό τον τρόπο το κελί εξακολουθεί να είναι αριθμός και μπορείς να κάνεις κανονικά πράξεις...
  23. Αν δεν δουλεύει, δείτε πώς ορίζεται το δεκαδικό στον υπολογιστή σας (κόμμα ή τελεία). Στον τύπο που παρέθεσα το έχω με τελεία οπότε gvarth ίσως γι' αυτό δεν δουλεύει. Δε νομίζω ότι έχει σχέση με την έκδοση του excel γιατί το δοκίμασα και σε excel 2003... Edit: Σε έναν άλλο υπολογιστή που το δοκίμασα και είχε τα δεκαδικά με κόμμα χρειάστηκε να αλλάξω τον τύπο και όπου τελεία να βάλω κόμμα. Δες το, κατά 99,9% αυτό θα είναι το πρόβλημα.
  24. Να προτείνω και μια εναλλακτική λύση χρησιμοποιώντας την εντολή substitute: A1: 24+450 B1: 34+650 C1: =SUBSTITUTE(B1;"+";".")-SUBSTITUTE(A1;"+";".") Και για δεδκαδικά: Α1: 26+973.40 Β1: 33+056.37 C1: =SUBSTITUTE(SUBSTITUTE(B1;".";"");"+";".")-SUBSTITUTE(SUBSTITUTE(A1;".";"");"+";".")
  25. 1.337 downloads

    Με το εργαλείο αυτό θα μπορείτε να υπολογίσετε την κατανάλωση καυσίμου του αυτοκινήτου σας για μια δεδομένη διαδρομή. Διαλέγετε την κατηγορία του αυτοκινήτου, το μήκος της διαδρομής και τον χρόνο που χρειάζεται για να την διασχίσετε. Το φύλλο υπολογίζει ως συνάρτηση της μέσης ταχύτητας την κατανάλωση και αν επιλέξετε την τιμή του καυσίμου ανά λίτρο θα σας υπολογίσει το κόστος του ταξιδιού σε ευρώ. Όλα τα κίτρινα κελιά περιέχουν αναδιπλώμενες λίστες (dropdown lists) από τις οποίες μπορείτε να επιλέξετε.την επιθυμητή τιμή. Το excel λειτουργεί σε office 2007 (ή νεώτερο) και για να λειτουργήσει θα πρέπει να ενεργοποιήσετε τις μακροεντολές.
×
×
  • Create New...

Σημαντικό

Χρησιμοποιούμε cookies για να βελτιώνουμε το περιεχόμενο του website μας. Μπορείτε να τροποποιήσετε τις ρυθμίσεις των cookie, ή να δώσετε τη συγκατάθεσή σας για την χρήση τους.