advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 13169 for 日付 (0.003 sec.)
[[20161106065930]]
#score: 2423
@digest: ff3be65363e51b73a8d1070c75a147c6
@id: 71980
@mdate: 2016-11-06T03:28:37Z
@size: 3948
@type: text/plain
#keywords: 個表 (22113), 様★ (14010), 番先 (5655), 頭セ (5496), 付形 (4178), 型( (3334), 付セ (2844), 集画 (2820), 付( (2075), 前日 (2059), clng (1894), 月初 (1829), 先頭 (1727), 太様 (1466), 日付 (1427), 部、 (1362), 分1 (1251), 一日 (1173), 構築 (1126), screenupdating (1078), activate (1052), 半平 (1046), 平太 (1021), 日) (855), 全部 (849), 例: (808), 月分 (743), の先 (705), メソ (658), の日 (625), ソッ (589), application (583)
『ブックを開くと本日日付のセルを表示 Auto_Open()』(ことみ)
先ほどやっと、使用のExcel2007でのVBA編集画面の開き方を知ったほどの VBAビギナーで 至極恐縮です。 車や会議室の予約表ブックです。 シートは月別に12シートあり、 ひと月分1シートには、1日毎に8時から20時までの小さな表が 月の日数分30ないし31あります。 日付は個表の先頭セルに表示させていて、 前日の日付セル+1という数式で入っています。 このブックを開いた時に、開いた当日の日付の表を表示させたいと四苦八苦しております。 ここに、ネットで調べた Sub Auto_Open() Dim sh As Worksheet Dim rng As Range Application.ScreenUpdating = False For Each sh In Worksheets sh.Activate Set rng = sh.Cells.Find(what:=Date) If Not (rng Is Nothing) Then rng.Activate Exit For End If Next sh Application.ScreenUpdating = True End Sub を入れましたが、機能しません。 VBA編集画面で実行すると、「型がありません」というエラーが出ます。 12月分×30ほどもある個表の日付セルを修正するしかないのでしょうか。 この日付形式でも機能するVBAの組み方があるのでしょうか。 < 使用 Excel:Excel2007、使用 OS:Windows7 > ---- 日付の検索は、時にすごく厄介になることがあります。 >「型がありません」というエラー これは、ちょっと思い当たらないです。 >この日付形式 どんな書式になっているんですか? (全部、同じ書式ですか?) >日付は個表の先頭セルに表示させていて、 個表の先頭セルは決まった位置にあるんですか? (例:A列に全部ある) >前日 一番先頭の日付(月初)は、どんな値ですか。 (半平太) 2016/11/06(日) 08:23 ---- ★半平太様★ お休みのところ、早速のお返事をありがとうこざいます!<m(__)m> >>この日付形式 >どんな書式になっているんですか? (全部、同じ書式ですか?) はい、全て書式はセルのユーザー設定でd"日""("aaa")"です >>日付は個表の先頭セルに表示させていて、 >個表の先頭セルは決まった位置にあるんですか? (例:A列に全部ある はい、B列に、全てあります >>前日 >一番先頭の日付(月初)は、どんな値ですか。 その月の一日は 数式バーでは 西暦年yyyy/月mm/日dd と表示されています。 毎年更新時に、月ごとに 一日のセルのみ日付入力をして更新させています。 (ことみ) 2016/11/06(日) 09:10 ---- >B列に、全てあります なら以下のコードの方が簡明です。 ※(日付の検索には問題山積みの)Findメソッドは使わない方がいいです。 Sub Auto_Open() Dim sh As Worksheet Dim rng As Range, Pos As Variant Application.ScreenUpdating = False For Each sh In Worksheets sh.Activate Pos = Application.Match(CLng(Date), Range("B:B"), 0) If IsNumeric(Pos) Then Cells(Pos, "B").Activate Exit For End If Next sh Application.ScreenUpdating = True End Sub (半平太) 2016/11/06(日) 09:29 ---- ★半平太様★ find ではなく CLng関数、という事でしょうか… 辞典をひいて「指定された式をバリアント型 (内部処理形式が長整数型 (Long) の Variant) に変換して返します。」という説明を読んでもサッパリわかりませんでした(;´∀`) お時間の許す時にでも、 この構築のご説明を伺えたなら☆ ペーストして上書き保存し、 機能しました!! とても嬉しいです!!(((o(*゚▽゚*)o))) 回答の早さ共、 とても素晴らしく感動いたしました! 半平太様、大変ありがとうございました。<m(__)m> (ことみ) 2016/11/06(日) 11:09 ---- >find ではなく CLng関数、という事でしょうか… いやそんな事ではなく、 「B列にしかないのが分かっているなら、Match関数で日付が何行目にあるか探ればいい」(※) と言う考え方です。 その際、Matchの検索値が「Date型」だとヒットしないので、 Date値をCLng関数でLong型に変換する、と言うことです。 (※) Findは、「値」か「式」でしか検索できない。 「値」と言っても、表示値を見に行くものである。 これはセルの書式に左右されることであり、状況依存の不安定な検索方法と言えます。 「式」と言っても、Formulaプロパティしか見ない。(Valueプロパティと同じ保証はない) 以上により「数式の結果値」を探索するには中途半端なメソッドである、と言えます。 (半平太) 2016/11/06(日) 12:27 ...
https://www.excel.studio-kazu.jp/wiki/kazuwiki/201611/20161106065930.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97065 documents and 608342 words.

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