株価の表があり、項目は日付、初値、高値、安値、終値、出来高のA列からF列になっています。
もう一つデータの入ってない表があり、そちらにデータの入っている元の表から日付で検索して合致
するデータを持ってきたいのです。(呼び出し側の表の最後のデータから、日付を取り出して検索しています)
項目日付の書式は日付型になっています。
自分なりに調べて次のようにしました。
Sub sinkabuka()
Dim ken As Variant
Dim motorow As Integer
Dim sinrow As Integer
Dim han As Object
Dim a As Variant
motorow = Worksheets(2).Range("a65536").End(xlUp).row
sinrow = Worksheets(1).Range("a65536").End(xlUp).row
If sinrow = 1 Then
Exit Sub
End If
ken = Worksheets(1).Range("a" & sinrow).Value2
Worksheets(2).Activate
Worksheets(2).Select
Set han = Range("a2:f" & motorow)
a = Application.WorksheetFunction.Match(ken, han, 0) <ーエラーになります
match関数でアドレスをとれるようになったら、合致したデータの次のデータをとるようにしたいと
おもっています。
試しにvlookup関数を使ったらデータを返してくれました。
excel2010 windows7です。
アドバイスをお願いします。
No.1
- 回答日時:
WorksheetFunctionでMatch関数を使用すると、
検索した範囲内で一致する項目がなかったら実行時エラーになるみたいですね。
なのでWorksheetFunction部分を削除して
Application.Matchと直したら実行時エラーにならなくなります。
詳細は以下のページを見てください。
http://park7.wakwak.com/~efc21/cgi-bin/exqaloung …
No.2ベストアンサー
- 回答日時:
VLOOKUPとMATCH関数では少し相違します。
MATCHの範囲は単一列、行としないと検索できませんので範囲を変更して下さい。
私見ですが、FINDメソッドの方が簡単と思いますが如何でしょうか。
回答ありがとうございます。
2日も悩んでいたのに一瞬で、できてしまった。
複数列だとだめなんですね。
データ型がだめなのかと思っていました。
ありがとうございます。
findメソッドも勉強いたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Visual Basic(VBA) VBAが止まります。 1 2022/09/02 14:51
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) エクセル VBA 処理スピードを上げたいのですが。 6 2023/03/31 20:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで隣のセルと同じ内容に列...
-
Excel関数:「0」を除いた標準...
-
Excel関数で、範囲内の最後のセ...
-
ピボットテーブル 0個の行を...
-
値の入っているセルのうち、一...
-
エクセル 8ケタの数字から日数...
-
【エクセル】区切り位置で分割...
-
Excelで複数列かつ複数行分の一...
-
SUMIFで数値が入力されているセ...
-
correl関数の範囲指定
-
A and B or Cの合計の出し方
-
エクセル、正数のみの集計[(負...
-
【VBA】データを項目別にシート...
-
エクセルで何種類のデータがあ...
-
離れたエリアでVLookupを使いたい
-
Excelで空白のセルを選択し、コ...
-
エクセルで電話番号を - で分...
-
VLOOKUP関数の範囲を自動変更さ...
-
エクセルで、昇順、降順使いま...
-
Excelのマクロでソートがうまく...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで隣のセルと同じ内容に列...
-
Excel関数:「0」を除いた標準...
-
【エクセル】区切り位置で分割...
-
Excel関数で、範囲内の最後のセ...
-
エクセルに入力された日付「S40...
-
値の入っているセルのうち、一...
-
ピボットテーブル 0個の行を...
-
SUMIFで数値が入力されているセ...
-
エクセルで何種類のデータがあ...
-
複数の候補列から、検索値と一...
-
【Excel】歯抜けデータの集約
-
更新前と更新後の差分をVBAを使...
-
SUMPRODUCT関数 行が増えても...
-
A and B or Cの合計の出し方
-
SUMIFとCOUNTIFの違いについて
-
エクセル 8ケタの数字から日数...
-
VLOOKUPの検索で該当するものが...
-
Excelのマクロでソートがうまく...
-
ピボットで複数の区切りでグル...
-
Excelで複数列かつ複数行分の一...
おすすめ情報