advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 779 for シリアル値 とは (0.008 sec.)
シリアル値 (1874), とは (29344)
[[20081017135138]]
#score: 8289
@digest: d2d7364813189722008881be516b7e5e
@id: 40467
@mdate: 2008-10-17T10:45:04Z
@size: 3566
@type: text/plain
#keywords: 年太 (11606), 示テ (9933), lra (9739), 20080715123945 (7380), 2008 (7089), 万年 (6517), 度内 (3868), 月締 (3476), 月数 (3092), 2009 (3002), dateadd (2336), ト() (2113), 郎) (2013), タ型 (1986), month (1918), 数表 (1690), シリ (1541), 川野 (1248), 事例 (1246), ル値 (1221), 引用 (1155), 年度 (1145), ピッ (1103), 太郎 (986), アル (959), トピ (952), year (814), 野さ (811), リア (718), 半平 (698), 平太 (681), a65536 (607)
『年度のVBA記述は?』(万年太郎)
3月締め4月始まりの年度内の数え月数を変数として利用するVBAを考えており、 [[20080715123945]] を参考にして下記のサンプルプログラムを作ったのですが、 「オブジェクトはこのプロパティまたはメソッドをサポートしていません」と エラーメッセージが出てしまいます。どこに問題があるのでしょうか? A 1 2007/8 2 2007/9 3 2007/10 4 2007/11 5 2007/12 6 2008/1 7 2008/2 8 2008/3 9 2008/4 10 2008/5 11 2008/6 12 2008/7 13 2008/8 14 2008/9 15 2008/10 16 2008/11 17 2008/12 18 2009/1 19 2009/2 20 2009/3 Sub 月数表示テスト() Dim i, y, LrA As Integer LrA = Range("A65536").End(xlUp).Row For i = 1 To LrA y = Application.Date(Year(Range("A" & i)), Month(Range("A" & i)) - 3, 1) Cells(i, 3).Value = y Next i End Sub WInXp,EXcel2003 ---- >どこに問題があるのでしょうか 1.引用されたトピックとは、A列のデータ型が異なります。あちらはシリアル値です。 2.Date関数は、VBAとワークシート関数とでは意味が違います。 3.あちらの解決は最終的にシリアル値にして、「書式で年を表示」するものです。 こちらの方もそれでいいのですか? (半平太) ---- つまり、データ型を統一する必要があるわけですね?y=整数(1〜12)を求める為にはVBAでは どういう記述をすればいいか、試行錯誤しているのですが、うまくいきません。 例えば y = Format(Year(Range("A" & i)), Month(Range("A" & i)) - 2, 1) とやってみましたが、 A C 1 2008/3 2008 2 2008/4 1 3 2008/5 2 4 2008/6 3 5 2008/7 4 6 2008/8 5 7 2008/9 6 8 2008/10 7 9 2008/11 8 10 2008/12 9 11 2009/1 -2 12 2009/2 -1 13 2009/3 2009 14 2009/4 1 15 2009/5 2 16 2009/6 3 17 2009/7 4 18 2009/8 5 19 2009/9 6 20 2009/10 7 21 2009/11 8 22 2009/12 9 23 2010/1 -2 24 2010/2 -1 25 2010/3 2010 と想定外の数値が出てしまうのです。(-1,-2,2008,2009,2010) (万年太郎) ---- A列に/1を付け足して、2008/3/1という日付に直してしまえば良いのではないですか。 ところでA列にはどのようにして入力していますか。 (川野鮎太郎) ---- 今、/1とやってみたのですが、結果は先程と同じです。 @A列は2008/10/1 と入力する AA列を全部選択する Bマウスを右クリック→セルの書式設定→表示形式→ユーザー定義→種類(T)yyyy/mm/dd で 設定していますが、間違っていますか? (><)(万年太郎) ---- >A列は2008/10/1 と入力する あれっ! すみません、それじゃ、同じシリアル値ですね (^^ゞ なら、これで ↓ Sub 月数表示テスト() Dim i, y, LrA As Integer LrA = Range("A65536").End(xlUp).Row For i = 1 To LrA y = Year(DateAdd("M", -3, Range("A" & i).Value)) Cells(i, 3).Value = y Next i End Sub (半平太) ---- 衝突しました。 ってことは、元々シリアル値になっているってことですね。(^_^A; では、 If Month(Range("A" & i)) < 4 Then y = Month(Range("A" & i)) + 12 - 3 Else y = Month(Range("A" & i)) - 2 End If でいけますか。 (川野鮎太郎) ---- 川野さんの事例を修正して If Month(Range("A" & i)) < 4 Then y = Month(Range("A" & i)) + 12 - 3 Else y = Month(Range("A" & i)) - 3 End If とやったら、こちらの期待通りの結果が出ました。川野さんの事例だったら 年度に左右されずにすみますね。今回で得られたy、という変数を手かがりに 来週、計算するルーチン作成にチャレンジしてみます。 半平太さん、川野さんありがとうございます。m(_ _)m m(_ _)m (万年太郎) ---- あれー、月数だったのですね。すっかり引用されたトピックと同じだと思っていました。 今さらですが、、 y = Year(DateAdd("M", -3, Range("A" & i).Value)) ↑ Month へ変更 (半平太) ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/200810/20081017135138.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97023 documents and 608155 words.

訪問者:カウンタValid HTML 4.01 Transitional