Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Excel > Excel - Ερωτήσεις / Απαντήσεις > [VBA] αποτροπή επεξεργασίας και μήνυμα οτι έχω ξεχάσει κάτι

Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ.

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 19-08-17, 19:36
Όνομα: ΔΗΜΗΤΡΗΣ
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 30-05-2017
Μηνύματα: 24
Προεπιλογή αποτροπή επεξεργασίας και μήνυμα οτι έχω ξεχάσει κάτι

Καλησπέρα,
Έχω δύο προβλήματα με τον κώδικα: 1) Το έχω ρυθμίσει για να αποθηκεύει ένα αντίγραφο στο σκληρό δίσκο αλλά όταν πάω να βρω το αρχείο μπορώ να το επεξεργαστώ πράγμα που δεν θέλω να το κάνω. Θέλω ακόμα να προστατεύσω το φύλλο excel από τυχον αλλαγές δηλαδη μονο να το βλέπω ή να το αποθηκεύσω ως pdf και 2) Θα ήθελα να μου βγάζει μήνυμα οταν πατάω αποθήκευση οτι τα κελιά F16, E31, G31,δεν έχουν περιεχόμενο.

Ο κώδικας μου είναι:
Sub NextInvoice()
Range("I5").Value = Range("I5").Value + 1
Range("G26").Value = Range("G34")
Range("G30").Value = Range("G34")
Range("G31").MergeArea.ClearContents
Range("G34").MergeArea.ClearContents
Range("G38").MergeArea.ClearContents
Range("E31").MergeArea.ClearContents
Range("G34").Formula = "=G30-G31"

End Sub

Sub PostToRegister()
Dim Lrow As Long
Lrow = Sheets("list invoice").Cells(Rows.Count, 1).End(xlUp).Row
Dim inDate As Date, inNum As Long
inDate = Sheets("invoice").Cells(38, 7).Value
inNum = Sheets("invoice").Cells(5, 9).Value
Dim exDate, exNum As Long
exDate = Sheets("list invoice").Cells(Lrow, 1).Value
exNum = Sheets("list invoice").Cells(Lrow, 2).Value
If inDate >= exDate And inNum > exNum Then
Dim WS1 As Worksheet
Dim WS2 As Worksheet
Set WS1 = Worksheets("invoice")
Set WS2 = Worksheets("list invoice")
'Figure out which row is the next row
NextRow = WS2.Cells(Rows.Count, 1).End(xlUp).Row + 1

'Write the important values to Register
'Write the important values to Register
WS2.Cells(NextRow, 1).Resize(1, 6).Value = Array(WS1.Range("G38"), WS1.Range("I5"), WS1.Range("H5"), _
WS1.Range("F16"), WS1.Range("G31"), WS1.Range("E31"))



Else
MsgBox "error."
End
End If
End Sub

Sub SaveInvWithNewName()

Dim NewFN
Dim variable1
Dim variable2

With ActiveSheet
variable1 = .Range("A32").Value
variable2 = .Range("A35").Value
.Copy
End With

With ActiveSheet
.Range("A32").Value = variable1
.Range("A35").Value = variable2
End With

With ActiveSheet
NewFN = "C:\invoice\" & Range("I5").Value & Range("H5").Value & Range("I49").Value & Range("F16").Value & ".xlsx"
ActiveSheet.SaveAs NewFN, FileFormat:=xlOpenXMLWorkbook
Application.DisplayAlerts = True
ActiveWorkbook.PrintOut From:=1, To:=1, copies:=2
ActiveWorkbook.Close SaveChanges:=False
NextInvoice
End With
End Sub

Sub FINISH()
Call PostToRegister
Call SaveInvWithNewName
End Sub
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
Έλεγχος αν η εκτέλεση ερωτήματος επιστρέφει κάτι. sarrpan Access - Ερωτήσεις / Απαντήσεις 6 14-02-14 08:37
[ Ασφάλεια] Αυτόματη εισαγωγή ημερομηνίας τελευταίας επεξεργασίας panas844 Access - Ερωτήσεις / Απαντήσεις 6 25-01-12 21:15
ΣΤΟΙΧΕΙΟ ΕΛΕΓΧΟΥ ΠΟΥ ΕΙΧΑ ΞΕΧΑΣΕΙ viki_moulara Access - Ερωτήσεις / Απαντήσεις 1 19-12-10 17:56
μπορεί να γίνει κατι τέτοιο με access sakis Access - Ερωτήσεις / Απαντήσεις 37 02-12-10 09:51


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