ExcelのA列に日付がずらずらと入っているのですがその中から「今日」に該当する部分を探したいと思っています。
findを使うことが出来ないでいます。
Const xlValues = -4163
Set objExcelApp = CreateObject("Excel.Application")
objExcelApp.Visible = True
objExcelApp.Workbooks.Open("C:\Book1.xls")
strLastDay = Cstr(Date - 1)
With objExcelApp.WorkSheets("Sheet1").Rangge("A8:A65535")
Set objClm = .Find(Trim(strLastDay),,xlValues)
If Not objClm Is Nothing Then
intCol = objClm.Column
intRow = objClm.Row
このあとどうしたらいいかわかりません・・・お願いします。
No.2ベストアンサー
- 回答日時:
なぜFindが使えないのか詳しいことは分かりませんでしたがとりあえず動くようにはしました。
シートのB列とC列を書き換えているので注意してください。
Const xlValues = -4163
Set objExcelApp = CreateObject("Excel.Application")
objExcelApp.Visible = True
objExcelApp.Workbooks.Open ("C:\Book1.xls")
Set ExcelSheet = objExcelApp.Worksheets("Sheet1")
With ExcelSheet
'Cells(1, 2)に検索する日付を入力(Date?)
.Cells(1, 2).Value = Date - 1
'Cells(1, 2)の値をTextプロパティで取得するので見た目を整えておく
.Columns("A:A").EntireColumn.AutoFit
.Columns("B:B").EntireColumn.AutoFit
i = 8 '検索開始行
j = 1 'Cells(j, 3)に見つかった行を入力する
On Error Resume Next
Do
Set rng = .Range("A" & i & ":A65535").Find(.Cells(1, 2).Text, , xlValues)
.Cells(j, 3).Value = rng.Row
j = j + 1
i = rng.Row + 1
Loop Until rng Is Nothing Or i > 65535
On Error GoTo 0
End With
No.1
- 回答日時:
>このあとどうしたらいいかわかりません・・・お願いします。
このあとしたいことは、質問者にしか分かりません。(^^;;;
それ以前に提示したコードはいくつかミスがあるので動作しません。
で、次のコードを試してみてください。
エクセルA列の日付の表示形式が、2009/9/5(YYYY/M/D) として。
'----------------------------------------------
Const xlValues = -4163
Set objExcelApp = CreateObject("Excel.Application")
objExcelApp.Visible = True
Set myBook = objExcelApp.Workbooks.Open("C:\Book1.xls")
strLastDay = Date
With myBook.WorkSheets("Sheet1").Range("A8:A65535")
Set objClm = .Find(strLastDay,,xlValues)
End with
If Not objClm Is Nothing Then
intCol = objClm.Column
intRow = objClm.Row
MsgBox "今日は、" & objClm.Address(0,0) & " のセルです"
End If
'------------------------------------------
最も重要なところは
Set myBook = objExcelApp.Workbooks.Open("C:\Book1.xls")
With myBook.WorkSheets("Sheet1").Range("A8:A65535")
これです。
また、今日を探すわけですから
>strLastDay = Cstr(Date - 1)
Dateから1引く必要はないし、
>Set objClm = .Find(Trim(strLastDay),,xlValues)
Trimも不必要だと思いますが。
以上です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ユーザーフォームに2つのコンボボックス銀行名「ConboBox1」支店名を「ConboBox2」とし 4 2022/08/03 17:34
- Excel(エクセル) マクロで行を追加、削除すると行位置がずれますが、解決方法はありませんか?。 5 2022/05/28 16:03
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Excel(エクセル) EXCEL マクロで行を挿入して貼り付けようとするとエラーになる。 2 2022/05/24 09:43
- Excel(エクセル) マクロで列を加えたら上手くいかなくなりました。 2 2022/05/23 17:59
- Visual Basic(VBA) vbaを早くしたい 5 2022/09/09 10:58
- Visual Basic(VBA) オブジェクトが見つかりません 1 2023/06/24 19:43
- Visual Basic(VBA) 形式を選択して貼り付け 以下のコードで「元」シートと「先」シートのA列に同じ値があったら指定範囲をコ 5 2022/11/11 07:30
- Visual Basic(VBA) 2つのシートの任意のセルの番号が一致したら、一致した行をコピーする VBA 2 2023/06/19 20:48
- Visual Basic(VBA) エクセルVBAのコードで質問です。 下のコードはJ16の文字列をB3を起点とする範囲から探して、見つ 5 2023/04/07 11:07
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
vbsでテキストファイル内の文字列検索
Visual Basic(VBA)
-
vbsからのExcelマクロ呼び出しの際に保存ダイアログが表示されてしまう
その他(プログラミング・Web制作)
-
VBScriptで、ファイルから任意の行のみ取り出す方法について
その他(プログラミング・Web制作)
-
-
4
vbscriptを使いexcelを参照して値を出力するというvlookupのような事がしたいのですが
Visual Basic(VBA)
-
5
VBScript(vbs)での行の取得について
その他(プログラミング・Web制作)
-
6
VBS Bookを閉じるコード
Visual Basic(VBA)
-
7
VBSでエクセル内の行数を取得する方法
その他(プログラミング・Web制作)
-
8
ReadLineでの読み出し行を指定する
Visual Basic(VBA)
-
9
VBScriptで重複レコードを削除して出力したいのですが…
Visual Basic(VBA)
-
10
VBSでExcelのオープン確認
Visual Basic(VBA)
-
11
VBSの処理中一旦処理を止めて再開させたい。
Visual Basic(VBA)
-
12
WScript.Echo と msgbox
その他(Microsoft Office)
-
13
vbsで最後の行を削除する
その他(プログラミング・Web制作)
-
14
VBA+VBSによる別インスタンスBookOpen時のVBSエラーに関して
Excel(エクセル)
-
15
VBSでExcelシートのコピー
Visual Basic(VBA)
-
16
VBScriptで引数を省略したい場合
その他(プログラミング・Web制作)
-
17
複数行の入力を受け取る方法
Visual Basic(VBA)
-
18
vbscriptを用いて他のVBSファイルを実行
その他(プログラミング・Web制作)
-
19
vbsでのアスタリスクとファイル取り込み
Visual Basic(VBA)
-
20
MSアクセスのマクロ・モジュールを実行
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Worksheets メソッドは失敗しま...
-
Excelで、あるセルの値に応じて...
-
IIF関数の使い方
-
VBAでのリスト不一致抽出について
-
VBマクロ 色の付いたセルを...
-
マクロ 最終列をコピーして最終...
-
VBAを使って検索したセルをコピ...
-
エクセル VBA ユーザーフォー...
-
VBA A列にありB列にないものま...
-
B列の最終行までA列をオート...
-
複数処理 Worksheet_Change(ByV...
-
超難 日付に対するクロス集計
-
文字列の結合を空白行まで実行
-
VBA 値と一致した行の一部の列...
-
空白セルをとばして転記
-
エクセルVBAにて =A1=B1とすれ...
-
【VBA】2つのシートの値を比較...
-
エクセルVBA intersect colu...
-
VBAのFind関数で結合セルを検索...
-
オートフィルタをマクロで作成...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Worksheets メソッドは失敗しま...
-
Excelで、あるセルの値に応じて...
-
B列の最終行までA列をオート...
-
vba 2つの条件が一致したら...
-
Cellsのかっこの中はどっちが行...
-
VBAを使って検索したセルをコピ...
-
VBAのFind関数で結合セルを検索...
-
文字列の結合を空白行まで実行
-
IIF関数の使い方
-
【VBA】2つのシートの値を比較...
-
マクロ 最終列をコピーして最終...
-
Changeイベントでの複数セルの...
-
VBA 何かしら文字が入っていたら
-
URLのリンク切れをマクロを使っ...
-
エクセルVBAにて =A1=B1とすれ...
-
VBAでのリスト不一致抽出について
-
データグリッドビューの一番最...
-
マクロについて。S列の途中から...
-
VBA UserFormからの転記で
-
targetをA列のセルに限定するに...
おすすめ情報