Πώς μπορείτε να δημιουργήσετε ένα μηνιαίο ημερολόγιο στο Excel

Η υποστήριξη για το Office 2003 έχει διακοπεί

Η Microsoft διέκοψε την υποστήριξη για το Office 2003 στις 8 Απριλίου 2014. Αυτή η αλλαγή επηρέασε τις ενημερώσεις λογισμικού και τις επιλογές ασφαλείας σας. Μάθετε τι σημαίνει αυτό για εσάς και το πώς θα προστατευτείτε.

ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο έχει μεταφραστεί χρησιμοποιώντας λογισμικό μηχανικής μετάφρασης της Microsoft και μπορείτε να το διορθώσετε χρησιμοποιώντας την τεχνολογία Community Translation Framework (CTF) (Πλαίσιο μετάφρασης κοινότητας). Η Microsoft παρέχει μηχανική μετάφραση, επεξεργασία μετά τη μηχανική μετάφραση από την κοινότητα και άρθρα μεταφρασμένα από επαγγελματίες προκειμένου να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής βάσης σε πολλές γλώσσες. Τα άρθρα μηχανικής μετάφρασης και αυτά που επεξεργάζονται ύστερα από μηχανική μετάφραση ενδέχεται να περιέχουν σφάλματα στο λεξιλόγιο, στη σύνταξη ή/και στη γραμματική. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες μας. Για περισσότερες πληροφορίες σχετικά με το CTF, μεταβείτε στην τοποθεσία http://support.microsoft.com/gp/machine-translation-corrections/el.

Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη: 150774
Περίληψη
Αυτό το άρθρο περιέχει ένα δείγμα της Microsoft Visual Basic για εφαρμογές μακροεντολή (διαδικασία Sub) που ζητά το μήνα και το έτος και δημιουργεί ένα μηνιαίο ημερολόγιο με ένα φύλλο εργασίας.
Προτεινόμενη αντιμετώπιση
Η Microsoft παρέχει παραδείγματα προγραμματισμού μόνο για επεξήγηση, χωρίς καμία εγγύηση, είτε σιωπηρή είτε ρητή. Αυτό περιλαμβάνει, αλλά δεν είναι ενδεικτικά, των σιωπηρών εγγυήσεων εμπορευσιμότητας ή καταλληλότητας για συγκεκριμένο σκοπό. Αυτό το άρθρο προϋποθέτει ότι είστε εξοικειωμένοι με τη γλώσσα προγραμματισμού που παρουσιάζεται, καθώς και με τα εργαλεία που χρησιμοποιούνται για τη δημιουργία και τον εντοπισμό σφαλμάτων διαδικασιών. Οι μηχανικοί υποστήριξης της Microsoft μπορούν να σας εξηγήσουν τη λειτουργικότητα μιας συγκεκριμένης διαδικασίας, αλλά δεν θα τροποποιήσουν αυτά τα παραδείγματα για να παράσχουν πρόσθετες λειτουργίες, ούτε θα δημιουργήσουν διαδικασίες για να καλύψουν τις συγκεκριμένες απαιτήσεις σας.

Για να δημιουργήσετε το ημερολόγιο, ακολουθήστε τα εξής βήματα.

Microsoft Excel2003

  1. Δημιουργήστε ένα νέο βιβλίο εργασίας.
  2. Στο μενού Εργαλεία, επιλέξτε μακροεντολή και, στη συνέχεια, κάντε κλικ στην επιλογή Επεξεργασία VisualBasic.
  3. Στο μενού "Εισαγωγή", κάντε κλικ στην εντολή "Λειτουργική μονάδα".
  4. Αντιγράψτε τον κώδικα Visual Basic for Applications κάτω από στο φύλλο themodule.
  5. Στο μενού αρχείο, κάντε κλικ στο κουμπί "Κλείσιμο και επιστροφή στο MicrosoftExcel."
  6. Κάντε κλικ στην καρτέλα Φύλλο1.
  7. Από το μενού "Εργαλεία", καταδείξτε τη "Μακροεντολή" και, στη συνέχεια, κάντε κλικ στην εντολή "Μακροεντολές".
  8. Κάντε κλικ στην επιλογή CalendarMaker και, στη συνέχεια, κάντε κλικ στην επιλογή Εκτέλεση για να δημιουργηθεί το ημερολόγιο.

Το Microsoft Excel 2007 ή νεότερη έκδοση

  1. Δημιουργήστε ένα νέο βιβλίο εργασίας.
  2. Στην κορδέλα προγραμματιστή, κάντε κλικ στο κουμπί Visual Basic.
  3. Στο μενού "Εισαγωγή", κάντε κλικ στην εντολή "Λειτουργική μονάδα".
  4. Αντιγράψτε τον κάτωθι κώδικα Visual Basic for Applications στο φύλλο λειτουργικής μονάδας.
  5. Στο μενού αρχείο, κάντε κλικ στο κουμπί "Κλείσιμο και επιστροφή σε Microsoft Excel".
  6. Κάντε κλικ στην καρτέλα Φύλλο1.
  7. Στην κορδέλα προγραμματιστή, κάντε κλικ στην εντολή μακροεντολές
  8. Κάντε κλικ στην επιλογή CalendarMaker και, στη συνέχεια, κάντε κλικ στην επιλογή Εκτέλεση για να δημιουργηθεί το ημερολόγιο.

ΣΗΜΕΙΩΣΗ: Εάν η κορδέλα προγραμματιστή δεν εμφανίζεται μεταβείτε στις επιλογές του Excel και να την ενεργοποιήσετε. Στο Excel 2007 θα το βρείτε στο μενού δημοφιλή και το Excel 2010, θα τη βρείτε στο μενού Προσαρμογή κορδέλας.

Διαδικασία της Visual Basic δείγματος

  Sub CalendarMaker()       ' Unprotect sheet if had previous calendar to prevent error.       ActiveSheet.Protect DrawingObjects:=False, Contents:=False, _          Scenarios:=False       ' Prevent screen flashing while drawing calendar.       Application.ScreenUpdating = False       ' Set up error trapping.       On Error GoTo MyErrorTrap       ' Clear area a1:g14 including any previous calendar.       Range("a1:g14").Clear       ' Use InputBox to get desired month and year and set variable       ' MyInput.       MyInput = InputBox("Type in Month and year for Calendar ")       ' Allow user to end macro with Cancel in InputBox.       If MyInput = "" Then Exit Sub       ' Get the date value of the beginning of inputted month.       StartDay = DateValue(MyInput)       ' Check if valid date but not the first of the month       ' -- if so, reset StartDay to first day of month.       If Day(StartDay) <> 1 Then           StartDay = DateValue(Month(StartDay) & "/1/" & _               Year(StartDay))       End If       ' Prepare cell for Month and Year as fully spelled out.       Range("a1").NumberFormat = "mmmm yyyy"       ' Center the Month and Year label across a1:g1 with appropriate       ' size, height and bolding.       With Range("a1:g1")           .HorizontalAlignment = xlCenterAcrossSelection           .VerticalAlignment = xlCenter           .Font.Size = 18           .Font.Bold = True           .RowHeight = 35       End With       ' Prepare a2:g2 for day of week labels with centering, size,       ' height and bolding.       With Range("a2:g2")           .ColumnWidth = 11           .VerticalAlignment = xlCenter           .HorizontalAlignment = xlCenter           .VerticalAlignment = xlCenter           .Orientation = xlHorizontal           .Font.Size = 12           .Font.Bold = True           .RowHeight = 20       End With       ' Put days of week in a2:g2.       Range("a2") = "Sunday"       Range("b2") = "Monday"       Range("c2") = "Tuesday"       Range("d2") = "Wednesday"       Range("e2") = "Thursday"       Range("f2") = "Friday"       Range("g2") = "Saturday"       ' Prepare a3:g7 for dates with left/top alignment, size, height       ' and bolding.       With Range("a3:g8")           .HorizontalAlignment = xlRight           .VerticalAlignment = xlTop           .Font.Size = 18           .Font.Bold = True           .RowHeight = 21       End With       ' Put inputted month and year fully spelling out into "a1".       Range("a1").Value = Application.Text(MyInput, "mmmm yyyy")       ' Set variable and get which day of the week the month starts.       DayofWeek = WeekDay(StartDay)       ' Set variables to identify the year and month as separate       ' variables.       CurYear = Year(StartDay)       CurMonth = Month(StartDay)       ' Set variable and calculate the first day of the next month.       FinalDay = DateSerial(CurYear, CurMonth + 1, 1)       ' Place a "1" in cell position of the first day of the chosen       ' month based on DayofWeek.       Select Case DayofWeek           Case 1               Range("a3").Value = 1           Case 2               Range("b3").Value = 1           Case 3               Range("c3").Value = 1           Case 4               Range("d3").Value = 1           Case 5               Range("e3").Value = 1           Case 6               Range("f3").Value = 1           Case 7               Range("g3").Value = 1       End Select       ' Loop through range a3:g8 incrementing each cell after the "1"       ' cell.       For Each cell In Range("a3:g8")           RowCell = cell.Row           ColCell = cell.Column           ' Do if "1" is in first column.           If cell.Column = 1 And cell.Row = 3 Then           ' Do if current cell is not in 1st column.           ElseIf cell.Column <> 1 Then               If cell.Offset(0, -1).Value >= 1 Then                   cell.Value = cell.Offset(0, -1).Value + 1                   ' Stop when the last day of the month has been                   ' entered.                   If cell.Value > (FinalDay - StartDay) Then                       cell.Value = ""                       ' Exit loop when calendar has correct number of                       ' days shown.                       Exit For                   End If               End If           ' Do only if current cell is not in Row 3 and is in Column 1.           ElseIf cell.Row > 3 And cell.Column = 1 Then               cell.Value = cell.Offset(-1, 6).Value + 1               ' Stop when the last day of the month has been entered.               If cell.Value > (FinalDay - StartDay) Then                   cell.Value = ""                   ' Exit loop when calendar has correct number of days                   ' shown.                   Exit For               End If           End If       Next       ' Create Entry cells, format them centered, wrap text, and border       ' around days.       For x = 0 To 5           Range("A4").Offset(x * 2, 0).EntireRow.Insert           With Range("A4:G4").Offset(x * 2, 0)               .RowHeight = 65               .HorizontalAlignment = xlCenter               .VerticalAlignment = xlTop               .WrapText = True               .Font.Size = 10               .Font.Bold = False               ' Unlock these cells to be able to enter text later after               ' sheet is protected.               .Locked = False           End With           ' Put border around the block of dates.           With Range("A3").Offset(x * 2, 0).Resize(2, _           7).Borders(xlLeft)               .Weight = xlThick               .ColorIndex = xlAutomatic           End With           With Range("A3").Offset(x * 2, 0).Resize(2, _           7).Borders(xlRight)               .Weight = xlThick               .ColorIndex = xlAutomatic           End With           Range("A3").Offset(x * 2, 0).Resize(2, 7).BorderAround _              Weight:=xlThick, ColorIndex:=xlAutomatic       Next       If Range("A13").Value = "" Then Range("A13").Offset(0, 0) _          .Resize(2, 8).EntireRow.Delete       ' Turn off gridlines.       ActiveWindow.DisplayGridlines = False       ' Protect sheet to prevent overwriting the dates.       ActiveSheet.Protect DrawingObjects:=True, Contents:=True, _          Scenarios:=True       ' Resize window to show all of calendar (may have to be adjusted       ' for video configuration).       ActiveWindow.WindowState = xlMaximized       ActiveWindow.ScrollRow = 1       ' Allow screen to redraw with calendar showing.       Application.ScreenUpdating = True       ' Prevent going to error trap unless error found by exiting Sub       ' here.       Exit Sub   ' Error causes msgbox to indicate the problem, provides new input box,    ' and resumes at the line that caused the error.   MyErrorTrap:       MsgBox "You may not have entered your Month and Year correctly." _           & Chr(13) & "Spell the Month correctly" _           & " (or use 3 letter abbreviation)" _           & Chr(13) & "and 4 digits for the Year"       MyInput = InputBox("Type in Month and year for Calendar")       If MyInput = "" Then Exit Sub       Resume   End Sub				
Μπορείτε να προσθέσετε άλλον κωδικό για να προσαρμόσετε το ημερολόγιο για τις ανάγκες σας. Εισαγωγή επιπλέον γραμμές για εγγραφή στην οθόνη για κάθε ημέρα ή να αλλάξετε το μέγεθος της οθόνης για να δείτε όλο το ημερολόγιο με βάση το μέγεθος της οθόνης και την ανάλυση.
XL2003 XL2010 XL2007

Προειδοποίηση: Αυτό το άρθρο έχει μεταφραστεί αυτόματα

Ιδιότητες

Αναγνωριστικό άρθρου: 150774 - Τελευταία αναθεώρηση: 05/21/2016 15:07:00 - Αναθεώρηση: 9.0

Microsoft Office Excel 2003, Microsoft Office Excel 2007, Microsoft Excel 2010, Excel 2016

  • kbautomation kbdtacode kbhowto kbprogramming kbmt KB150774 KbMtel
Σχόλια