[[20110209115731]] 『日付と文字の結合エラー』(SKYTREE-NOW) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『日付と文字の結合エラー』(SKYTREE-NOW)
 やりたいこと
 当月月末年月日("yyyy/mm/dd")を任意の文字列と結合してセルにセット、
  および結合して印刷ヘッダーに出力したい。

 下記試行1、および試行2を実行しましたが
 EXCEL2000では何れもOK、EXCEL2003では何れもエラーになります。

  EXCEL2003でエラーにならない方法を教えてください。
 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

試行1

    Dim GETUMATU_YMD As Date

    Range("AX3").Select
    Selection.NumberFormatLocal = "yyyy/m/d"
    ActiveCell.FormulaR1C1 = "=EOMONTH(TODAY(),0)"  '当月の月末年月日をセット
' 関数⇒「値」に変換
    Range("AX3").Select
    Selection.Copy
    Range("AX3").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
'
    GETUMATU_YMD = Range("AX3").Value

 ⇒ここで「実行時エラー'13':型が一致しません。」のエラーになる。

 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

試行2

 試行1のエラー解消のため GETUMATU_YMD をVariant型に変更

    Dim GETUMATU_YMD As Variant
' 
    Range("AX3").Select
    Selection.NumberFormatLocal = "yyyy/m/d"
    ActiveCell.FormulaR1C1 = "=EOMONTH(TODAY(),0)"  '当月の月末年月日をセット
' 関数⇒「値」に変換
    Range("AX3").Select
    Selection.Copy
    Range("AX3").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
'
    GETUMATU_YMD = Range("AX3").Value

    AREA2 = "E" & i
    Range(AREA2).Select
    Selection.NumberFormatLocal = "@"
    Range(AREA2).Value = Application.WorksheetFunction. _
                 Text(GETUMATU_YMD, "yyyy/m/d") & ":月末日"

 ⇒ここで「1004 実行時エラー'1004':
      WorksheetFunctionクラスのTextプロパティを取得できません」のエラーになる。


恐らく、Excel2003の環境で、EOMONTH関数を使う為のアドインが設定されていない。
「ツール」→「アドイン」→「分析ツール」のチェックを確認してください。

他のPCでも使う予定があるのであれば、EOMONTH()を使わず
以下の式(翌月の1日の日付-1を求める)に置き換えた方がよいと思います。
"=DATE(YEAR(TODAY()),MONTH(TODAY())+1,1)-1"

(kcIo5Z32)


kcIo5Z32さん 

 アドイン設定後、EOMONTH関数で正常に終了しました。
 ご教授いただきました式に置き換えた方も正常に終了しました。

 他のPCで使用予定が有りますので、置き換えた式の方を完成版にいたしました。

 アドイン設定についての知識がございませんでした。
 貴重なご教授大変ありがとうございました。助かりました。 

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.