advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 779 for シリアル値 とは (0.008 sec.)
シリアル値 (1874), とは (29343)
[[20100514162220]]
#score: 8289
@digest: 6050eb57da1063b03826b12310033ae1
@id: 49426
@mdate: 2010-05-14T09:25:19Z
@size: 2797
@type: text/plain
#keywords: hizuke (27297), hizhizuke (15241), タ無 (8478), 値hi (7748), tips131 (7323), 当デ (5294), 記ペ (3740), 例:= (3187), mmm (2980), ッソ (2877), シリ (2312), ル値 (1832), アル (1439), 列b (1365), xlvalues (1162), xlformulas (1155), ルa1 (1093), リア (1077), 番簡 (960), し" (854), 引数 (807), ン: (784), 該当 (710), 示形 (680), メソ (658), momo (653), activecell (609), ソッ (590), 純丸 (574), 無し (569), 認識 (553), columns (553)
『VBA FINDメッソドについて』(MOMO)
バージョン:2007 VBA初心者です。 セルA1にシリアル値が入っていて、列Bの中にこのシリアル値が存在すれば、その4つ右のセルにAAAという値を入れる場合のVBAです。その一部です。 Dim HIZUKE As Date HIZUKE = Range("A1").Value Dim MMM As Range Set MMM = Columns("b").Find(WHAT:=HIZUKE) If MMM Is Nothing Then MsgBox "該当データ無し" Else MMM.Offset(0, 4).Select ActiveCell.Value = "AAA" End If ここで列BにセルA1と同じシリアル値が入っていた場合はきちんと稼働するのですが、計算式で表示されていた場合に"該当データ無し"となってしまいます。 例えばセルA1に2010/5/14で表示されるシリアル値を入れていたとします。 そして列Bのどこかに 値でなく計算式を入れて 2010/5/14と表示をさせてた場合「例:=TODAY()」 に、きちんと動くようにしたいのです。どなたか、ご教授願います。 ---- 似たようなHNですね^^ Findメソッドの引数は省略しないようにしましょう。 前回の検索時の設定を引き継いでしまうので。 原因はLookInのパラメータがxlFormulasになっているからだと思います。 xlValuesに治すと大丈夫だと思います。 あと、気になるのはAfterの引数でActivecellがColumns("b")に無いとエラーになるので 下のようにしてみてはどうでしょうか? Sub test() Dim HIZUKE As Date HIZUKE = Range("A1").Value Dim MMM As Range With Columns("b") Set MMM = .Find(What:=HIZUKE, After:=.Cells(.Cells.Count), LookIn:=xlValues, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False) End With If MMM Is Nothing Then MsgBox "該当データ無し" Else MMM.Offset(0, 4).Value = "AAA" End If End Sub (momo) ---- ご回答ありがとうございます。 試してみたのですが、この場合は文字列は認識するものの、シリアル値自体を認識しないようです。(該当データ無し と表示) FIND メソッドの引数を調べてみます。 (MOMO) ---- 検索値HIZUKEをB列の表示形式に合わせた「文字列」にしてやると うまくいきました。 Dim HIZUKE As String HIZHIZUKE = Format(Range("A1").Value, "yyyy/m/d") ^^^^^^^^ B列の書式に合わせて下さい。 違う方法があるのかもしれませんが。 (純丸)(o^-')b ---- Dim HIZUKE As String HIZHIZUKE = Range("A1").Text ではいかがでしょう。 (みやほりん)(-_∂)b ---- ↑ A1とB列の表示形式が同じなら、一番簡単でしたね。 (純丸)(o^-')b ---- できました。私は A1と2010年5月14日と表示しており、列Bには5/14といったような表示形式にしておりました。あくまで、シリアル値で比較しているものだと思ってましたが、表示形式が関係あったとは思いもしませんでした。ありがとうございました。 (MOMO) ---- http://www.officetanaka.net/excel/vba/tips/tips131.htm 上記ページで詳しく検証されてます。 (とおりすがりん) ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/201005/20100514162220.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97018 documents and 608144 words.

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