Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3
Default Get Month name from Date value in cell

I'm trying to get the month from a date representation as follows ...

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 3 And Target.Cells.Count = 1 Then
Dim strDate As String
strDate = Format(Target.Value, "mmmm")
Range("A20").Value = strDate
Else
Exit Sub
End If

End Sub

The error I am getting is ... "Object Required"

on the ... strDate = Format(Target.Value, "mmmm") ...

line

by which I'm guessing Target.Value is not being seen as a date type ...

Any ideas as to how I could get the month from a value entered into a call
.... the value will always be in the form 5/24/55 ... from which I need the
string "May"

Chip Dukes
(New to Excel programming)

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,203
Default Get Month name from Date value in cell

Your code works fine for me with column C formatted as a date. Might try
changing to this code to see if it helps identify the problem for you.

Your code is in the worksheet's code module, isn't it? You can check by
right-clicking the sheet's name tab and choosing [View Code] from the list.
Your code should be visible when the VB Editor opens.

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 3 And Target.Cells.Count = 1 Then
Dim strDate As String
If IsDate(Target) Then
strDate = Format(Target.Value, "mmmm")
Range("A20").Value = strDate
Else
MsgBox "Not a date: " & Target.Value
End If
Else
Exit Sub
End If

End Sub


"Chip Dukes" wrote:

I'm trying to get the month from a date representation as follows ...

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 3 And Target.Cells.Count = 1 Then
Dim strDate As String
strDate = Format(Target.Value, "mmmm")
Range("A20").Value = strDate
Else
Exit Sub
End If

End Sub

The error I am getting is ... "Object Required"

on the ... strDate = Format(Target.Value, "mmmm") ...

line

by which I'm guessing Target.Value is not being seen as a date type ...

Any ideas as to how I could get the month from a value entered into a call
... the value will always be in the form 5/24/55 ... from which I need the
string "May"

Chip Dukes
(New to Excel programming)

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,355
Default Get Month name from Date value in cell

Every time you make a change to the worksheet, the worksheet change event is
called. The only problem I see is updated below.

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 3 And Target.Cells.Count = 1 Then
Dim strDate As String
strDate = Format(Target.Value, "mmmm")
Application.EnableEvents= False 'Added
Range("A20").Value = strDate
Application.EnableEvents= True 'Added
Else
Exit Sub
End If

--
HTH,

Barb Reinhardt



"Chip Dukes" wrote:

I'm trying to get the month from a date representation as follows ...

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 3 And Target.Cells.Count = 1 Then
Dim strDate As String
strDate = Format(Target.Value, "mmmm")
Range("A20").Value = strDate
Else
Exit Sub
End If

End Sub

The error I am getting is ... "Object Required"

on the ... strDate = Format(Target.Value, "mmmm") ...

line

by which I'm guessing Target.Value is not being seen as a date type ...

Any ideas as to how I could get the month from a value entered into a call
... the value will always be in the form 5/24/55 ... from which I need the
string "May"

Chip Dukes
(New to Excel programming)

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,355
Default Get Month name from Date value in cell

You may want to test target for a value as well. Or do something like this

if not isempty(target) then

'Do something
end if

--
HTH,

Barb Reinhardt



"Chip Dukes" wrote:

I'm trying to get the month from a date representation as follows ...

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 3 And Target.Cells.Count = 1 Then
Dim strDate As String
strDate = Format(Target.Value, "mmmm")
Range("A20").Value = strDate
Else
Exit Sub
End If

End Sub

The error I am getting is ... "Object Required"

on the ... strDate = Format(Target.Value, "mmmm") ...

line

by which I'm guessing Target.Value is not being seen as a date type ...

Any ideas as to how I could get the month from a value entered into a call
... the value will always be in the form 5/24/55 ... from which I need the
string "May"

Chip Dukes
(New to Excel programming)

  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,942
Default Get Month name from Date value in cell

hi
i copied your code. when i enter a date in column c (target column), it puts
april in A20 so the code seems to be working fine.
what are you doing to trigger the code??

regards
FSt1

"Chip Dukes" wrote:

I'm trying to get the month from a date representation as follows ...

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 3 And Target.Cells.Count = 1 Then
Dim strDate As String
strDate = Format(Target.Value, "mmmm")
Range("A20").Value = strDate
Else
Exit Sub
End If

End Sub

The error I am getting is ... "Object Required"

on the ... strDate = Format(Target.Value, "mmmm") ...

line

by which I'm guessing Target.Value is not being seen as a date type ...

Any ideas as to how I could get the month from a value entered into a call
... the value will always be in the form 5/24/55 ... from which I need the
string "May"

Chip Dukes
(New to Excel programming)



  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 905
Default Get Month name from Date value in cell

"Chip Dukes" wrote:
Any ideas as to how I could get the month from a
value entered into a call ... the value will always be
in the form 5/24/55 ... from which I need the string "May"


The basic paradigm -- strDate = Format(Target.Value, "mmmm") -- works fine
for me, whether Target.Value is a date serial number or even a string
recognized as a date.

But it seems odd to me that you are assigning the result to the same cell --
Range("A20") -- for any single-cell change in column 3.

Not sure if you dumbed down the code fragment in an effort to isolate the
error, or if you are inadvertently executing the Format conversion for
unexpected cells in column 3.

(Even so, I have yet to encounter a situation where that code would result
in an "object required" runtime error. Nonetheless....)

If you are looking for a change in a specific cell, you might change your If
expression to something of the form Target = Range("C1").

If that does not solve the problem, feel free to send your workbook to me.
Send it to joe2004 "at" hotmail.com.

Aside.... It would be prudent to disable events when changing a cell within
an event macro. To wit:

Dim strDate As String
Application.EnableEvents = False
strDate = Format(Target.Value, "mmmm")
Range("A20").Value = strDate
Application.EnableEvents = True

Also, `Else: Exit Sub` is superfluous in your code fragement. Again, not
sure if that's the result of simplifying the example.


----- original message -----

"Chip Dukes" wrote:
I'm trying to get the month from a date representation as follows ...

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 3 And Target.Cells.Count = 1 Then
Dim strDate As String
strDate = Format(Target.Value, "mmmm")
Range("A20").Value = strDate
Else
Exit Sub
End If

End Sub

The error I am getting is ... "Object Required"

on the ... strDate = Format(Target.Value, "mmmm") ...

line

by which I'm guessing Target.Value is not being seen as a date type ...

Any ideas as to how I could get the month from a value entered into a call
... the value will always be in the form 5/24/55 ... from which I need the
string "May"

Chip Dukes
(New to Excel programming)

  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 117
Default Get Month name from Date value in cell

What I've got below tested fine and tests to make sure the value that was
entered can be seen as a date.

'-------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 3 And Target.Cells.Count = 1 And _
IsDate(Target.Value) Then

Dim dteDate As Date
Dim strDate As String

strDate = CStr(Target.Value)
dteDate = CDate(strDate)
Range("A20").Value = Format(dteDate, "mmmm")

Else
Exit Sub
End If

End Sub

'-------------------------------------

Steve Yandl



"Chip Dukes" wrote in message
...
I'm trying to get the month from a date representation as follows ...

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 3 And Target.Cells.Count = 1 Then
Dim strDate As String
strDate = Format(Target.Value, "mmmm")
Range("A20").Value = strDate
Else
Exit Sub
End If

End Sub

The error I am getting is ... "Object Required"

on the ... strDate = Format(Target.Value, "mmmm") ...

line

by which I'm guessing Target.Value is not being seen as a date type ...

Any ideas as to how I could get the month from a value entered into a call
... the value will always be in the form 5/24/55 ... from which I need the
string "May"

Chip Dukes
(New to Excel programming)

  #8   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,934
Default Get Month name from Date value in cell

Others have addressed your main question, I just thought I would mention to
you (and the others out there who weren't aware of it) that VB has a
MonthName function... it takes the month number as its first argument and an
optional Boolean second argument letting you control whether the full or
abbreviated month name it returned. So, the code in the True portion of your
If/Then/Else block could have be this...

Range("A20").Value = MonthName(Month(Target.Value))

--
Rick (MVP - Excel)



"Chip Dukes" wrote in message
...
I'm trying to get the month from a date representation as follows ...

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 3 And Target.Cells.Count = 1 Then
Dim strDate As String
strDate = Format(Target.Value, "mmmm")
Range("A20").Value = strDate
Else
Exit Sub
End If

End Sub

The error I am getting is ... "Object Required"

on the ... strDate = Format(Target.Value, "mmmm") ...

line

by which I'm guessing Target.Value is not being seen as a date type ...

Any ideas as to how I could get the month from a value entered into a call
... the value will always be in the form 5/24/55 ... from which I need the
string "May"

Chip Dukes
(New to Excel programming)

  #9   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,942
Default Get Month name from Date value in cell

and just to add for those who might be interested.
it also has a weekday function.

Range("A20").value = WeekdayName(Weekday(Target.Value)

FSt1

"Rick Rothstein" wrote:

Others have addressed your main question, I just thought I would mention to
you (and the others out there who weren't aware of it) that VB has a
MonthName function... it takes the month number as its first argument and an
optional Boolean second argument letting you control whether the full or
abbreviated month name it returned. So, the code in the True portion of your
If/Then/Else block could have be this...

Range("A20").Value = MonthName(Month(Target.Value))

--
Rick (MVP - Excel)



"Chip Dukes" wrote in message
...
I'm trying to get the month from a date representation as follows ...

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 3 And Target.Cells.Count = 1 Then
Dim strDate As String
strDate = Format(Target.Value, "mmmm")
Range("A20").Value = strDate
Else
Exit Sub
End If

End Sub

The error I am getting is ... "Object Required"

on the ... strDate = Format(Target.Value, "mmmm") ...

line

by which I'm guessing Target.Value is not being seen as a date type ...

Any ideas as to how I could get the month from a value entered into a call
... the value will always be in the form 5/24/55 ... from which I need the
string "May"

Chip Dukes
(New to Excel programming)

.

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Date arithmetic: adding 1 month to prior end of month date manxman Excel Worksheet Functions 2 July 14th 06 09:29 PM
Sort month/date/year data using month and date only SMW820 Excel Discussion (Misc queries) 6 June 22nd 06 05:14 PM
How can i change cell colour depending on month of date in cell? andy75 Excel Discussion (Misc queries) 2 January 6th 06 07:46 AM
Calculate month-end date from date in adjacent cell? Matt D Francis Excel Worksheet Functions 4 May 19th 05 04:55 AM
Increasing cell date by a month Robert Christie[_3_] Excel Programming 5 October 12th 04 01:25 PM


All times are GMT +1. The time now is 07:26 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"