
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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
B列の最終行までA列をオート...
-
Excelで、あるセルの値に応じて...
-
Cellsのかっこの中はどっちが行...
-
IIF関数の使い方
-
Worksheets メソッドは失敗しま...
-
【VBA】2つのシートの値を比較...
-
Changeイベントでの複数セルの...
-
【VBA】複数行あるカンマ区切り...
-
VBAを使って検索したセルをコピ...
-
VBAで、離れた複数の列に対して...
-
vba 2つの条件が一致したら...
-
VBAコンボボックスで選択した値...
-
DataGridViewにリンク列の追加...
-
VBA 列が空白なら別のマクロへ...
-
DataGridViewに空白がある場合...
-
C# 列の挿入
-
マクロについて。S列の途中から...
-
VBA 何かしら文字が入っていたら
-
VBAで、特定の文字より後を削除...
-
rowsとcolsの意味
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで、あるセルの値に応じて...
-
Worksheets メソッドは失敗しま...
-
vba 2つの条件が一致したら...
-
B列の最終行までA列をオート...
-
IIF関数の使い方
-
Cellsのかっこの中はどっちが行...
-
【VBA】2つのシートの値を比較...
-
VBAのFind関数で結合セルを検索...
-
URLのリンク切れをマクロを使っ...
-
文字列の結合を空白行まで実行
-
VBA 何かしら文字が入っていたら
-
VBAを使って検索したセルをコピ...
-
【Excel VBA】 B列に特定の文字...
-
VBAで指定範囲内の空白セルを左...
-
Changeイベントでの複数セルの...
-
VBAで、離れた複数の列に対して...
-
VBAでのリスト不一致抽出について
-
データグリッドビューの一番最...
-
rowsとcolsの意味
-
DataGridViewに空白がある場合...
おすすめ情報