Forum

Forum (https://www.ms-office.gr/forum/)
-   Excel - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/)
-   -   [Γενικά] αποθήκευση και άνοιγμα βιβλίου. (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/4533-apothikeysi-kai-anoigma-biblioy.html)

maxtor10 10-04-17 08:26

αποθήκευση και άνοιγμα βιβλίου.
 
Καλημέρα σε ολη την παρέα.
έχω δυο ερωτήσεις που ενώ φαντάζουν εύκολες με έχουν τρελάνει και αν και πειραματιστηκα μπας και τις διορθώσω τελικός δεν μπόρεσα.


1)Σε ένα βιβλίο excel.XLTM με έναν κώδικα vba μου ζητάει κατά την αποθήκευση και κάθε φορά να επιλέγω το excel macro-enabled template και κάθε φορά το αποθηκεύει σε νέο βιβλίο, πως μπορώ να το αποφύγω αυτό?


2) έχω ένα add-in αρχείο που με βοηθάει πάρα πολύ στις ημερομηνίες, αλλά κάθε φορά που ανοίγω το excel με ρωτάει "enable or disable" και αυτό αν μπορώ να το αποθηκεύω 1 φορά και να μην με ρωτάει συνεχεία.


Ευχαριστώ.xltm

Spirosgr 10-04-17 14:45

Ασαφές ερώτημα...

Βασικά τα templates, τα έχουμε για «παραγωγή»
Με τα templates, μπορούμε να αποθηκεύσουμε ή το ίδιο το βιβλίο ή ένα παράγωγο του...

Τι κάνει ακριβώς ο κώδικας;

Στο ζητάει ο κώδικας ή η Excel;

Αν η εφαρμογή, τότε καλώς το κάνει, γιατί προφανώς (?),
έχεις στα options, την αποθήκευση σε .xlsx (πιο πιθανό) ή .xlsm

Πάντως 100% απάντηση, χωρίς να δούμε τον κώδικα και την λειτουργία, δεν υπάρχει.

Όσο για την Add-In, αποθήκευσέ την στο φάκελο της εφαρμογής:
Addins ή Πρόσθετα (ανάλογα τη γλώσσα) και ενεργοποίησε μόνιμα από την κορδέλα...

maxtor10 10-04-17 15:54

Σπύρο γεια σου και σε ευχαριστω για το ενδιαφερον.
ο κώδικας είναι ο παρακάτω ο οποίος είναι σε ένα κουμπί που σβήνει όλες τις κενές γραμμές στον πίνακα :
το αρχείο δεν μπόρεσα να το ανεβάσω από εδώ, και το ανέβασα από άλλη σελίδα για να το δεις ακριβός πως είναι. https://ufile.io/15181



Option Explicit

Sub διαγραφή()

'Code from Officetricks.com - How to Delete Blank Rows in Excel using VBA?

Dim iRow As Double, iCol As Double
iRow = 1
iCol = 1

While True
'Check whether Cell 1 is Blank for that a row
ActiveSheet.Cells(iRow, iCol).Select
If VBA.Trim(ActiveSheet.Cells(iRow, iCol)) = "" Then

While True
'If Cell 1 is Blank then verify all the columns in that row
If VBA.Trim(ActiveSheet.Cells(iRow, iCol)) <> "" Then
GoTo Skip_To_Next_Row:
End If
iCol = iCol + 1
If iCol > 256 Then GoTo Del_Row:
Wend
Del_Row:
'If first cell is Empty, then execute VBA Code to Delete a Row in Excel
ActiveSheet.Rows(iRow).Delete Shift:=xlUp
iRow = iRow - 1
End If

Skip_To_Next_Row:
iRow = iRow + 1
If ActiveSheet.UsedRange.Rows.Count < 2 Then GoTo End_Process:
If iRow > ActiveSheet.UsedRange.Rows.Count Then GoTo End_Process:
iCol = 1
Wend

End_Process:
MsgBox "Η διαγραφή ολοκληρώθηκε."
End Sub




2) Για το add-in δεν κατάλαβα πως ακριβός να το ενεργοποιήσω μόνιμα από την κορδέλα, αλλά δεν το έχω σε φάκελο, είναι στην επιφάνεια εργασίας το αρχείο.

Spirosgr 10-04-17 16:28

Ο κώδικας δεν έχει καμία σχέση...
Η λειτουργία του template, είναι όπως πρέπει...

Θα σου πω μερικά πράγματα, με σκοπό (και μόνο) να μάθεις κάτι...

Για το συγκεκριμένο αρχείο, ζήτησες κώδικα στην αρχή...
Πήρες έναν, (από εμένα) αποσαφηνίσαμε το ζητούμενο και μετά έναν δεύτερο....

Κατέληξες σε συναρτήσεις (κανένα πρόβλημα)...
Έκανες έναν πίνακα (καλώς) αλλά έχεις validation (και άλλα), έξω από τον πίνακα(κακώς)...
Πήρες ένα κώδικα, από άλλο site, (δεν τον εξετάζω, αν είναι αυτό που θέλεις ή αν είναι σωστός) και τα πάντρεψες όλα σε ένα template.

O σκοπός του template, είπαμε είναι να δημιουργεί «παράγωγα»
Και το κάνει καλά.

Αν δικός σου σκοπός, δεν είναι η παραγωγή αρχείων, με κοινό interface
αλλά διαφορές στα δεδομένα, τότε κακώς που έχεις .xltm

Ένα απλό .xlsx ή με κώδικα .xlsm αρκεί.

Πρίν απ' όλα, πήγαινε στην βοήθεια της Microsoft, διάβασε για τους πίνακες
και μετά για τα είδη αρχείων και τι κάνουν...

Μην βιάζεσαι να δημιουργήσεις αρχεία, αν δεν είναι σωστά.

Καλύτερα πιο απλά στην αρχή, με πολύ απλές συναρτήσεις,
να κάνεις δουλίτσα και αργότερα, μαθαίνοντας, διορθώνεις - αναπροσαρμόζεις...

maxtor10 10-04-17 17:21

Σπύρο πρώτα απ όλα σε ευχαριστώ για όλη την βοήθεια σου.
Έχεις δίκιο ότι είναι κάπως βιαστικό όλο αυτό που κάνω αν και ανίδεος προσπαθώ να φτιάξω ένα αρχείο στον πατέρα μου που δεν σκαμπάζει και πολυ, για να περνάει τις αποδείξεις του για τον λογιστή, οπότε έπρεπε να είναι όσο ποιο απλό και αυτοματοποιημένο γίνετε και να το φτιάξω όσο το δυνατόν ποιο γρήγορα γιατί τις γράφει μια μια, γραμμα γραμμα.

Αυτό με τον πίνακα που μου πρότεινες αν και δεν έκανα πίνακα ποτέ μου, μου φάνηκε ποιο απλό απ το να ψάχνω κώδικες και άλλες τέτοιες σπαζοκεφαλιές .
Οτι έβαλα συναρτήσεις στον πίνακα προέκυψε από την θέληση μου να μάθω πως λειτουργεί ο πίνακας που μου έστειλες την πρώτη φορα, και είδα ότι όταν διέγραψα όλα τα δεδομένα στον πινάκα δεν έκανε τίποτα, όταν όμως του έδωσα τα πρώτα δεδομένα λειτουργούσε αντιγραφωντας τα με απόλυτα καλό αποτέλεσμα.
Αυτά ως το γιατί έκανα του κεφαλιού μου :D

θα πάω Microsoft για τους πίνακες όπως είπες και θα του δώσω ως έχει το αρχειάκι, και αργότερα το αντικαθιστώ.

Όσο για την μορφή αποθήκευσης ήταν παρανόηση δική μου αντί macro-enabled workbook πήγα στο macro-enabled template. το έκανα τώρα macro-enabled workbook (xlsm) όπως είπες και διορθώθηκε.


Η ώρα είναι 20:40.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2