Consulting

Results 1 to 18 of 18

Thread: Solved: Create Monthly Calendar using Userform

  1. #1
    VBAX Regular
    Joined
    Mar 2012
    Posts
    34
    Location

    Solved: Create Monthly Calendar using Userform

    Hi All,

    I have some excellent code that creates a monthly calendar via an Input Box.

    What I would like is for the user to select the Month & Year from Comboboxes in a UF not an Input Box.

    I just can't work out how to link my Comboboxes to the code!!

    Can Anyone help - copy of workbook attached

    Thanks

    Craig
    Attached Files Attached Files

  2. #2

  3. #3
    Distinguished Lord of VBAX VBAX Grand Master Bob Phillips's Avatar
    Joined
    Apr 2005
    Posts
    25,453
    Location
    Userform code

    [VBA]Private mCancel As Boolean

    Public Property Get Cancel() As Boolean
    Cancel = mCancel
    End Property

    Private Sub CommandButton1_Click()
    mCancel = True
    Me.Hide
    End Sub

    Private Sub CommandButton2_Click()
    mCancel = False
    Me.Hide
    End Sub

    Private Sub UserForm_Activate()
    ComboBox1.SetFocus
    End Sub[/VBA]

    Module2 code

    [VBA]Sub Button5_Click()
    With UserForm1

    .Show
    If Not .Cancel Then Call CalBeta1(.ComboBox1.Value & " " & .ComboBox2.Value)
    End With
    End Sub[/VBA]

    Module1 code

    [VBA]Sub CalBeta1(Optional InputDate As String)
    Dim diff As Long
    Dim finalday As Date
    Dim startday As Date

    ' 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:af35 including any previous calendar.
    Range("D3:az35").Clear

    If InputDate = "" Then

    ' Use InputBox to get desired month and year and set variable
    ' MyInput.
    MyInput = InputBox("Type in Month and year for Calendar. [Must be in format: Jan 2012]")

    ' 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)
    Else

    startday = DateValue(InputDate)
    End If

    ' 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

    ' BEGIN FORMATTING
    ' Prepare cell for Month and Year as fully spelled out.
    Range("D1").NumberFormat = "mmmm yyyy"
    ' Center the title with appropriate formatting
    Range("D1:H1").Select
    With Selection
    .HorizontalAlignment = xlLeft
    .VerticalAlignment = xlCenter
    .WrapText = False
    .Orientation = 0
    .AddIndent = False
    .IndentLevel = 0
    .ShrinkToFit = False
    .ReadingOrder = xlContext
    .MergeCells = False
    End With
    Selection.Merge
    Range("D1:H1").Select
    With Selection
    .Value = "Attendance " '& Year(startday)
    .Font.FontStyle = Arial
    .Font.Size = 12
    .Font.Bold = True
    .Font.Italic = False
    .HorizontalAlignment = xlLeft
    .VerticalAlignment = xlCenter
    End With

    ' Prep next row to display month and year
    Range("D2:H2").Select
    With Selection
    .HorizontalAlignment = xlLeft
    .VerticalAlignment = xlCenter
    .WrapText = False
    .Orientation = 0
    .AddIndent = False
    .IndentLevel = 0
    .ShrinkToFit = False
    .ReadingOrder = xlContext
    .MergeCells = False
    End With
    Selection.Merge
    Range("D2:H2").Select
    With Selection
    .NumberFormat = "@"
    ' Put inputted month and year fully spelling out into "a2".
    Range("D2").Value = MonthName(Month(startday)) & Chr(32) & Year(startday)
    .Font.FontStyle = Arial
    .Font.Size = 12
    .Font.Bold = True
    .Font.Italic = False
    .HorizontalAlignment = xlLeft
    .VerticalAlignment = xlCenter
    End With
    '
    ' BEGIN CALCULATION OF FIRST DAY
    ' 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)

    ' Calculate how many days in the given month
    mydays = Day(DateSerial(Year(Date), curmonth + 1, 1) - 1)

    ' Used to input data in the proper format. I.E. if I select column C, I have to -1, if I select column D I have to -2
    myspread = mydays - 1
    my2spread = mydays - 2

    ' Place a "1" in cell position of the first day of the chosen
    ' month based on DayofWeek.
    Select Case DayofWeek
    Case 1
    Range("d3").Value = "Sun"
    Range("d4").Value = 1
    Case 2
    Range("d3").Value = "Mon"
    Range("d4").Value = 1
    Case 3
    Range("d3").Value = "Tue"
    Range("d4").Value = 1
    Case 4
    Range("d3").Value = "Wed"
    Range("d4").Value = 1
    Case 5
    Range("d3").Value = "Thu"
    Range("d4").Value = 1
    Case 6
    Range("d3").Value = "Fri"
    Range("d4").Value = 1
    Case 7
    Range("d3").Value = "Sat"
    Range("d4").Value = 1
    End Select
    ' Begin AutoFill days
    ' need to do a column count and have loop run until column count is equal to mydays
    Range("D3").Select
    Selection.AutoFill Destination:=Selection.Resize(1, mydays), Type:=xlFillDefault

    With Range("E4").Select
    Selection.Insert
    Selection.Formula = "=(D4+1)"
    Selection.AutoFill Destination:=Selection.Resize(1, myspread), Type:=xlFillDefault
    End With
    'Format the Calendar Range
    Range("D3:AI25").Select
    With Selection
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlCenter
    .WrapText = True
    .Orientation = 0
    .AddIndent = False
    .IndentLevel = 0
    .ShrinkToFit = False
    .ReadingOrder = xlContext
    .MergeCells = False
    .Font.Size = 9
    .Font.Bold = True
    End With
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlEdgeTop)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlEdgeBottom)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlEdgeRight)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlInsideVertical)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlInsideHorizontal)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With
    Range("D3:AI4").Select
    With Selection.Interior
    .ColorIndex = 15
    .Pattern = xlSolid
    End With
    Columns("D:AI").Select
    Range("D3").Activate
    Selection.ColumnWidth = 3

    Range("D5:AI25").Select
    Selection.ClearContents

    ' Turn on 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.
    Range("A5").Select

    MsgBox "New Monthly Calendar created", vbOKOnly + vbInformation, "FTE Record"

    Exit Sub

    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. [Format: January 2011] ")
    If MyInput = "" Then Exit Sub
    Resume
    End Sub[/VBA]
    ____________________________________________
    Nihil simul inventum est et perfectum

    Abusus non tollit usum

    Last night I dreamed of a small consolation enjoyed only by the blind: Nobody knows the trouble I've not seen!
    James Thurber

  4. #4
    Distinguished Lord of VBAX VBAX Grand Master Bob Phillips's Avatar
    Joined
    Apr 2005
    Posts
    25,453
    Location
    BTW, your code can be tidied up a lot.

    I fell you over-comment, it can impede anyone reading the code. Adding a comment for Application.Screenupdating = False is way overkill IMO, and you must be careful that you comments are meaningfull. You had a comment to say you were turning gridlines on, then turned them off. Apart from being an unnecessary comment, it was just plain wrong.

    [VBA]Sub CalBeta1(Optional InputDate As String)
    Dim diff As Long
    Dim finalday As Date
    Dim startday As Date

    Application.ScreenUpdating = False

    If InputDate = "" Then

    ' Use InputBox to get desired month and year and set variable MyInput.
    MyInput = InputBox("Type in Month and year for Calendar. [Must be in format: Jan 2012]")

    ' 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)
    Else

    startday = DateValue(InputDate)
    End If

    ' Clear area a1:af35 including any previous calendar.
    Range("D3:AZ35").Clear

    ' 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 = startday - Day(startday) + 1
    End If

    ' BEGIN FORMATTING
    ' Prepare cell for Month and Year as fully spelled out.
    ' Center the title with appropriate formatting
    With Range("D1")
    .Value = "Attendance " '& Year(startday)
    .Font.FontStyle = Arial
    .Font.Size = 12
    .Font.Bold = True
    .Font.Italic = False
    .HorizontalAlignment = xlLeft
    .VerticalAlignment = xlCenter
    End With

    ' Prep next row to display month and year
    With Range("D2")
    .Value = MonthName(Month(startday)) & Chr(32) & Year(startday)
    .NumberFormat = "mmmm yyyy"
    .Font.FontStyle = Arial
    .Font.Size = 12
    .Font.Bold = True
    .HorizontalAlignment = xlLeft
    .VerticalAlignment = xlCenter
    End With

    ' 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)

    ' Calculate how many days in the given month
    mydays = Day(DateSerial(Year(Date), curmonth + 1, 1) - 1)
    ' Begin AutoFill days
    ' need to do a column count and have loop run until column count is equal to mydays
    With Range("D3")
    .Value = Format(startday, "ddd")
    .Font.Name = "Arial"
    .Font.Size = 10
    .AutoFill Destination:=.Resize(1, mydays), Type:=xlFillDefault
    End With

    ' Place a "1" in cell position of the first day of the chosen
    ' month based on DayofWeek.
    Range("D4").Value = 1

    ' Used to input data in the proper format. I.E. if I select column C, I have to -1, if I select column D I have to -2
    myspread = mydays - 1
    my2spread = mydays - 2
    Range("E4").Insert
    With Range("E4")
    .Formula = "=(D4+1)"
    .AutoFill Destination:=.Resize(1, myspread), Type:=xlFillDefault
    End With

    'Format the Calendar Range
    With Range("D3:AI25")
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlCenter
    .WrapText = True

    .Borders(xlDiagonalDown).LineStyle = xlNone
    .Borders(xlDiagonalUp).LineStyle = xlNone
    With .Borders(xlEdgeLeft)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With
    With .Borders(xlEdgeTop)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With
    With .Borders(xlEdgeBottom)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With
    With .Borders(xlEdgeRight)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With
    With .Borders(xlInsideVertical)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With
    With .Borders(xlInsideHorizontal)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With
    End With

    With Range("D3:AI4").Interior
    .ColorIndex = 15
    .Pattern = xlSolid
    End With

    Columns("D:AI").ColumnWidth = 3

    Range("D5:AI25").ClearContents

    ActiveWindow.DisplayGridlines = False

    ' Resize window to show all of calendar (may have to be adjusted
    ' for video configuration).
    ActiveWindow.WindowState = xlMaximized
    ActiveWindow.ScrollRow = 1

    ' Prevent going to error trap unless error found by exiting Sub here.
    Range("A5").Select

    Application.ScreenUpdating = True

    MsgBox "New Monthly Calendar created", vbOKOnly + vbInformation, "FTE Record"

    Exit Sub

    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. [Format: January 2011] ")
    If MyInput = "" Then Exit Sub
    Resume
    End Sub[/VBA]
    ____________________________________________
    Nihil simul inventum est et perfectum

    Abusus non tollit usum

    Last night I dreamed of a small consolation enjoyed only by the blind: Nobody knows the trouble I've not seen!
    James Thurber

  5. #5
    Distinguished Lord of VBAX VBAX Grand Master Bob Phillips's Avatar
    Joined
    Apr 2005
    Posts
    25,453
    Location
    I would also go further and break it down into separate functional procedures to aid readability

    [VBA]Sub CalBeta1(Optional InputDate As String)
    Dim diff As Long
    Dim mydays As Long
    Dim myspread As Long
    Dim my2spread As Long
    Dim startday As Variant

    Application.ScreenUpdating = False

    startday = GetDate(InputDate)
    If startday = "" Then Exit Sub
    ' 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 = startday - Day(startday) + 1

    Call DayCalculations(startday, mydays, myspread, my2spread)

    ' BEGIN FORMATTING
    ' Clear area a1:af35 including any previous calendar.
    Range("D3:AZ35").Clear

    Call AddHeaders(startday, mydays, myspread)

    Call AddBorders(Range("D3:AI25"))

    With Range("D3:AI4").Interior
    .ColorIndex = 15
    .Pattern = xlSolid
    End With

    Columns("D:AI").ColumnWidth = 3

    Range("D5:AI25").ClearContents

    ActiveWindow.DisplayGridlines = False

    ' Resize window to show all of calendar (may have to be adjusted
    ' for video configuration).
    ActiveWindow.WindowState = xlMaximized
    ActiveWindow.ScrollRow = 1

    ' Prevent going to error trap unless error found by exiting Sub here.
    Range("A5").Select

    Application.ScreenUpdating = True

    MsgBox "New Monthly Calendar created", vbOKOnly + vbInformation, "FTE Record"

    Exit Sub

    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"
    If InputBox("Type in Month and year for Calendar. [Format: January 2011] ") = "" Then Exit Sub
    Resume
    End Sub

    Private Function GetDate(Optional InputDate As String) As Variant
    Dim MyInput As Variant

    If InputDate = "" Then

    MyInput = InputBox("Type in Month and year for Calendar. [Must be in format: Jan 2012]")

    If MyInput <> "" Then MyInput = DateValue(MyInput)

    GetDate = MyInput
    Else

    GetDate = DateValue(InputDate)
    End If
    End Function

    Private Function DayCalculations(ByVal Start As Variant, _
    ByRef NumDays As Long, ByRef Spread As Long, ByRef Spread2 As Long) As Boolean
    Dim curyear As Long
    Dim curmonth As Long
    Dim finalday As Date

    ' Set variables to identify the year and month as separate variables.
    curyear = Year(Start)
    curmonth = Month(Start)

    ' Set variable and calculate the first day of the next month.
    finalday = DateSerial(curyear, curmonth + 1, 1)

    ' Calculate how many days in the given month
    NumDays = Day(DateSerial(Year(Date), curmonth + 1, 1) - 1)
    ' Used to input data in the proper format. I.E. if I select column C, I have to -1, if I select column D I have to -2
    Spread = NumDays - 1
    Spread2 = NumDays - 2
    End Function

    Private Function AddHeaders(ByVal Start As Date, ByVal NumDays As Long, ByVal Spread As Long) As Boolean
    ' Prepare cell for Month and Year as fully spelled out.
    ' Center the title with appropriate formatting
    With Range("D1")
    .Value = "Attendance " '& Year(start)
    .Font.FontStyle = "Arial"
    .Font.Size = 12
    .Font.Bold = True
    .Font.Italic = False
    .HorizontalAlignment = xlLeft
    .VerticalAlignment = xlCenter
    End With

    ' Prep next row to display month and year
    With Range("D2")
    .Value = MonthName(Month(Start)) & Chr(32) & Year(Start)
    .NumberFormat = "mmmm yyyy"
    .Font.FontStyle = "Arial"
    .Font.Size = 12
    .Font.Bold = True
    .HorizontalAlignment = xlLeft
    .VerticalAlignment = xlCenter
    End With

    ' Begin AutoFill days
    ' need to do a column count and have loop run until column count is equal to mydays
    With Range("D3")
    .Value = Format(Start, "ddd")
    .Font.Name = "Arial"
    .Font.Size = 10
    .AutoFill Destination:=.Resize(1, NumDays), Type:=xlFillDefault
    End With

    ' Place a "1" in cell position of the first day of the chosen
    ' month based on DayofWeek.
    Range("D4").Value = 1

    Range("E4").Insert
    With Range("E4")
    .Formula = "=(D4+1)"
    .AutoFill Destination:=.Resize(1, Spread), Type:=xlFillDefault
    End With
    End Function

    Private Function AddBorders(rng As Range) As Boolean
    'Format the Calendar Range
    With rng
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlCenter
    .WrapText = True

    .Borders(xlDiagonalDown).LineStyle = xlNone
    .Borders(xlDiagonalUp).LineStyle = xlNone
    Call BorderStyle(rng, xlEdgeLeft)
    Call BorderStyle(rng, xlEdgeTop)
    Call BorderStyle(rng, xlEdgeRight)
    Call BorderStyle(rng, xlEdgeBottom)
    Call BorderStyle(rng, xlInsideVertical)
    Call BorderStyle(rng, xlInsideHorizontal)
    End With
    End Function

    Private Function BorderStyle(rng As Range, Border As XlBordersIndex) As Boolean
    With rng
    With .Borders(Border)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
    End With
    End With
    End Function
    [/VBA]
    ____________________________________________
    Nihil simul inventum est et perfectum

    Abusus non tollit usum

    Last night I dreamed of a small consolation enjoyed only by the blind: Nobody knows the trouble I've not seen!
    James Thurber

  6. #6
    Knowledge Base Approver VBAX Guru GTO's Avatar
    Joined
    Sep 2008
    Posts
    3,368
    Location
    Energy drink?

  7. #7
    VBAX Regular
    Joined
    Mar 2012
    Posts
    34
    Location

    Thumbs up Solved

    Thank You xld yet again.....your code works excellently.

    Thank you also for your comments on the layout of the code I originally had, I did take this from another post and adapted for my own use but should have paid more attention to commenting out as otherwise as you say it can confuse.

    Thanks too defcon3 can use that in another project I am working on.

    Again, Thanks as the more I learn the more I want to know.

    Craig

  8. #8
    Distinguished Lord of VBAX VBAX Grand Master Bob Phillips's Avatar
    Joined
    Apr 2005
    Posts
    25,453
    Location
    Quote Originally Posted by craigos
    Thank you also for your comments on the layout of the code I originally had, I did take this from another post and adapted for my own use but should have paid more attention to commenting out as otherwise as you say it can confuse.
    I am not keen to get into a styles war, but I certainly believe that if you do comment, comment effectively (personally, I hardly ever comment).

    Quote Originally Posted by craigos
    Again, Thanks as the more I learn the more I want to know.
    Exactly the sort of person that makes our efforts worthwhile
    ____________________________________________
    Nihil simul inventum est et perfectum

    Abusus non tollit usum

    Last night I dreamed of a small consolation enjoyed only by the blind: Nobody knows the trouble I've not seen!
    James Thurber

  9. #9
    Distinguished Lord of VBAX VBAX Grand Master Bob Phillips's Avatar
    Joined
    Apr 2005
    Posts
    25,453
    Location
    Quote Originally Posted by GTO
    Energy drink?
    My first post of the day. I just addressed the problem to startwith; then I thought I could be more helpful; then I though that I have started so I might as well finish.

    Am I a saddo?
    ____________________________________________
    Nihil simul inventum est et perfectum

    Abusus non tollit usum

    Last night I dreamed of a small consolation enjoyed only by the blind: Nobody knows the trouble I've not seen!
    James Thurber

  10. #10
    Moderator VBAX Wizard Aussiebear's Avatar
    Joined
    Dec 2005
    Location
    Queensland
    Posts
    5,075
    Location
    Quote Originally Posted by xld
    Am I a saddo?
    Saddo meeting in 5 minutes.
    Remember To Do the Following....
    Use [Code].... [/Code] tags when posting code to the thread.
    Mark your thread as Solved if satisfied by using the Thread Tools options.
    If posting the same issue to another forum please show the link

  11. #11
    Knowledge Base Approver VBAX Guru GTO's Avatar
    Joined
    Sep 2008
    Posts
    3,368
    Location
    Quote Originally Posted by Aussiebear
    Saddo meeting in 5 minutes.
    Gosh Ted - even if we had rockets, 5 minutes?

    Quote Originally Posted by xld
    My first post of the day. I just addressed the problem to startwith; then I thought I could be more helpful; then I though that I have started so I might as well finish.

    Am I a saddo?
    Of course we are only teasing each other a bit, but hardly my friend. I just started chuckling as I read through your code's evolution and realized how quickly it transpired. I would most likely still have been at 'step one' if you will.

    My one-liner would have been, "Too many Red Bulls?" (a popular energy drink here), but I wasn't sure if it is sold there and would translate.

    BTW, I had to lookup up "saddo". It is funny how there can be so many variations or different terms in the same language but different locales. I found this: on-line dictionary

    Maybe simple-minded of me, but it just seems awfully nifty the "things" we have available with such ease. Not only a definition, but with a click, one can hear the correct pronounciation? How cool! I even got to talk (telephonically) with Ted the other day! Not that one could not have called internationally when I was a child, but imagine what the rates would have been over hard lines?! Again, just "too cool!" in my opinion.

    Okay, not sure what got me ranting rather meandering observations, so I'll stop.

    @craigos:

    Neat calendar! As soon as I looked at it, I thought, "I'll bet my guys could use this.", so wanted to say thank you for the thread.

    Mark

  12. #12
    Moderator VBAX Wizard Aussiebear's Avatar
    Joined
    Dec 2005
    Location
    Queensland
    Posts
    5,075
    Location
    Quote Originally Posted by GTO
    Gosh Ted - even if we had rockets, 5 minutes?
    Net meeting Mark!
    Remember To Do the Following....
    Use [Code].... [/Code] tags when posting code to the thread.
    Mark your thread as Solved if satisfied by using the Thread Tools options.
    If posting the same issue to another forum please show the link

  13. #13
    Distinguished Lord of VBAX VBAX Grand Master Bob Phillips's Avatar
    Joined
    Apr 2005
    Posts
    25,453
    Location
    Quote Originally Posted by GTO
    My one-liner would have been, "Too many Red Bulls?" (a popular energy drink here), but I wasn't sure if it is sold there and would translate.
    I cannot say that I have ever had one, but we do have Red Bull here as well. I'm a London Pride kind of bloke.

    Quote Originally Posted by GTO
    BTW, I had to lookup up "saddo". It is funny how there can be so many variations or different terms in the same language but different locales. I found this: on-line dictionary
    That is so, but it is in the UK where the language is richly developed, I am afraid your countrymen just seem to munge it, trying to treat nouns as though they were verbs, :

    Quote Originally Posted by GTO
    Maybe simple-minded of me, but it just seems awfully nifty the "things" we have available with such ease. Not only a definition, but with a click, one can hear the correct pronounciation? How cool! I even got to talk (telephonically) with Ted the other day! Not that one could not have called internationally when I was a child, but imagine what the rates would have been over hard lines?! Again, just "too cool!" in my opinion.
    You are right, it is incredibly convenient, but I do think we have lost something along the way.

    I look at people using SatNav, and wonder why they need such things; can they not read a map? It is getting to the stage where I know people who could drive from where I live to Edinburgh (about 500 miles through some very densely populated areas), but have absolutely no idea where Edinburgh is.

    And again, we can find out everything about a place before we go there. I went to Lucca in Italy a couple of years ago and found a small hotel to stay at. But I googled it, then street-mapped the route from the hotel back to the city centre, and decided I would like a 'better' locale. OK, some might say it saved me from disappointment, but part of the reason for going to faraway places is to discover things, encounter some bad things, but revel in the good things. If ou know about it in detail before you go, why bother going?
    ____________________________________________
    Nihil simul inventum est et perfectum

    Abusus non tollit usum

    Last night I dreamed of a small consolation enjoyed only by the blind: Nobody knows the trouble I've not seen!
    James Thurber

  14. #14
    Knowledge Base Approver VBAX Guru GTO's Avatar
    Joined
    Sep 2008
    Posts
    3,368
    Location
    Quote Originally Posted by Aussiebear
    Net meeting Mark!
    Ahhh..., well I did mention being simple minded . I still think of meetings as face-to-face. (Probably the 'meet' part )

    Quote Originally Posted by xld
    I cannot say that I have ever had one, but we do have Red Bull here as well. I'm a London Pride kind of bloke.
    You have not missed anything incredible, sort of what one would assume flat ginger ale would taste like. London Pride?

    Quote Originally Posted by xld
    That is so, but it is in the UK where the language is richly developed, I am afraid your countrymen just seem to munge it, trying to treat nouns as though they were verbs, :
    I have not had the advantage of travel that you have had, so I take your word. That said, my observation would be that other than one's father and mother being Adam and Eve, any language learned would seem to be at least somewhat a conglomeration. I once had an English teacher (I do not recall for sure, but I do not believe I even completed the semester. I am afraid that I have always found locking down to a structered learning to be difficult) who stated only several things that I can recall years later.
    • Languages, one vs. another, has no moral winner. While Spanish more logically placing the descriptives after the thing (casa grande vs. big house) is certainly more logical (that is, one's thought does not have to "back up" after getting to the thing), if the idea, thought, or "picture" is accurately transmitted from the sender to the receiver, then the language has done its job.
    • "John is dead" makes no sense, as "is" states being.
    • "Good-bye" is short for "God be with ye"
    Imagine, instead of departing saying "see you later", saying "God be with you" (on your journey to home through the forest, because I hope dragons don't eat you). I suppose the last two 'stuck' just because I found them so interesting; the first because of the at least seemingly utter truth to it.

    That is not to say that I hold no value in the 'proper' use of language, I do. While I quite regularly botch proper verbiage something horribly, I would still like to read George Orwell's essay "Politics and the English Language" sometime.

    Quote Originally Posted by xld
    You are right, it is incredibly convenient, but I do think we have lost something along the way.

    I look at people using SatNav, and wonder why they need such things; can they not read a map? It is getting to the stage where I know people who could drive from where I live to Edinburgh (about 500 miles through some very densely populated areas), but have absolutely no idea where Edinburgh is.

    And again, we can find out everything about a place before we go there. I went to Lucca in Italy a couple of years ago and found a small hotel to stay at. But I googled it, then street-mapped the route from the hotel back to the city centre, and decided I would like a 'better' locale. OK, some might say it saved me from disappointment, but part of the reason for going to faraway places is to discover things, encounter some bad things, but revel in the good things. If ou know about it in detail before you go, why bother going?
    I agree to the first bit without hesitation. In your example of a decently long trip (by roadway), I cannot help but chuckle in recalling an individual who was so regularly lost, that she would use a Garmond for directions to home from work!

    Ultimately, a double-edged sword of sorts. Not only for the stupifying results when the particular techology is working, but for the weakening of basic skills (map reading in your example).

    Fairly recently, I went with an uncle (my dad's kid brother) on a couple of hunting (more at hiking, didn't spot anything) trips. He brought along two Garmond two-way radios with sat-nav (there is another expression we use, which for the life of me, I am not recalling at the moment). Again, how cool! You can punch some buttons, and start walking away from each other and into the forest without a worry. Not only can you find your way back, but you can check each other's location in reference to your own!

    At least unless the batteries die...

  15. #15
    Distinguished Lord of VBAX VBAX Grand Master Bob Phillips's Avatar
    Joined
    Apr 2005
    Posts
    25,453
    Location
    Mark,

    I was not saying that English as a language is better than any other; and I was certainly not arguing for some 'pure' form. English is one of the hardest languages in the world to learn, precisely because it is anything but pure. It has picked and poached from every other language, has always evolved and changed rapidly, has very loose structures, and so on. We (you and I and many of our countrymen) are lucky in that it is our mother tongue. The only reason that it is the world's pre-dominant language and everyone else is more or less obliged to learn it is because Great Britain was the first global super-power and enforced English, and the the next super-power, the USA, also happened to use the same (ish!) language. No, rather I was saying that one of the less appealing aspects of its global supremacy is the homogenisation of the language to a much smaller, business-speak subset of the langage, whereas here in the UK it is as vibrant as ever, and very fluid. I can envisage a time when the English speaking world will not be able to understand the English. It is already on its way there.

    Regarding technology and all of the 'cool' tools we have now such as GPS. Yes, again I agree that they are great and useful, we should know how to use them, but we should learn the basic skills. Just as with spreadsheets, if you are going to do complex calculations, you should understand the underlying math, otherwise how can you tell you have applied the right function, and applied it correctly. This is another distrurbiing trend in my view, make everything idiot-proof. Doing so reduces the flexibility enormously, and cuts innovation.

    PS - London Pride http://www.fullers.co.uk/rte.asp?id=47
    ____________________________________________
    Nihil simul inventum est et perfectum

    Abusus non tollit usum

    Last night I dreamed of a small consolation enjoyed only by the blind: Nobody knows the trouble I've not seen!
    James Thurber

  16. #16
    Moderator VBAX Wizard Aussiebear's Avatar
    Joined
    Dec 2005
    Location
    Queensland
    Posts
    5,075
    Location
    Righto Socrates & Plato, back on topic.
    Remember To Do the Following....
    Use [Code].... [/Code] tags when posting code to the thread.
    Mark your thread as Solved if satisfied by using the Thread Tools options.
    If posting the same issue to another forum please show the link

  17. #17
    Distinguished Lord of VBAX VBAX Grand Master Bob Phillips's Avatar
    Joined
    Apr 2005
    Posts
    25,453
    Location
    The OP said that his problem was solved, hence no topic to get back onto.
    ____________________________________________
    Nihil simul inventum est et perfectum

    Abusus non tollit usum

    Last night I dreamed of a small consolation enjoyed only by the blind: Nobody knows the trouble I've not seen!
    James Thurber

  18. #18
    Knowledge Base Approver VBAX Guru GTO's Avatar
    Joined
    Sep 2008
    Posts
    3,368
    Location
    Bob,

    I must say, what started as a two-word joke/affectionate jab, has made me think a bit. Whilst, if given the same experiences, I might or might not reach the same exact conclusions, I believe we agree overall. You made two points which quite frankly, had not occurred to me; at least not fully. As to the first - while I have always felt blessed to be born where I was, I always relayed this more at the freedoms you and I both enjoy, vs. the lack of said in some other places. I do not believe I have ever thought about being blessed in terms of the language I learned. Excellent point, you are of course right.

    I rather sheepishly address the second, as when thinking about global influences, I have tended to think most often in terms limited to the the past several hundred years, as well as more at the influences of 'politics' if you will. Not saying that I ignore more ancient history in any little bit of learning that I might get to do (my country formed after all, as a Roman-Greco form of government), but I admit that I have given less than sufficient thought to the negative effects of global business commerce upon the language. I of course hope that what you envision does not come to pass (as I am sure you do as well); unfortunately, it certainly seems more than possible. Personally, I am saddened and frustrated in observing the overall lack of value for knowledge that seems to be all about us. But for the knowledge that language can bring, we are serfs waiting to happen.

    By the way, I caught that little jab "(ish!)". Ouch! Very cute.

    Sigh... Thank you, it was indeed 'GPS' that I could not recall. I have oft admitted my sorely felt lacking in mathmatics and fully appreciate the ramifications of dependence upon anything. Although meant with humor, my "until the batteries die" comment was really at this.

    Reference Fuller's: gosh, a bit embarassing. Upon opening the link, I am quite confident that you have answered me sometime before about London Pride. Hopefully stuff is not falling out of my brain faster than I can pack it in, but somedays I wonder.

    Kindest regards and of course, enjoyable as always,

    Mark

    @Aussiebear:
    Okay, I'll stop, please forgive . I do enjoy our occassional non-Excel discourse here though. It is enjoyable, even just the little things, like looking up/learning a "new" word .

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •