
いつもお世話になっております。
エクセルVBA初心者なので、分かりやすく教えていただきたいのですが、今下記のようなコードを書いています。
Public Function FindData(key As String, ByRef st As Long, ByRef ed As Long) As Long
On Error GoTo FindData_Error
Dim z As Long
Sheets("T_保存").Select
If Range("A2").Value = "" Then
z = 1
Else
z = Range("A1").End(xlDown).Row
End If
st = Application.WorksheetFunction.Match(key, Range("A1:A" & z), 0)
ed = Application.WorksheetFunction.Match(key, Range("A1:A" & z), 1)
FindData_exit:
FindData = 0
Exit Function
FindData_Error:
FindData = -1
End Function
keyは年度で、入力シートからT_保存シートに値でコピーするVBAを組んでいます。
シート上でのMATCH関数では認識しますが、st = ~のところで、「MATCHプロパティを取得できません」と出てしまい、検索結果は「該当なし」なってしまいます。いろいろと調べても見たんですが、どうしても原因が分かりません。
なるべく詳しく教えていただければ・・・と思います。
(初心者のため、ここを伝えなければ、回答できないという項目があれば追加で記入させていただきます。key,zには正常な値が入っています)
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
とりあえず、「keyは年度で」と言っていますが、モジュール中ではkeyを文字列で宣言していますので、
Application.WorksheetFunction.Match(val(key), Range・・・
と、検索値をval(key)で数値に変換して呼び出してみては?
これでだめなら、st=(またはed=の行)にブレークポイントを設定して、その時のzとkeyの値を調べて、本当にその範囲に値があるか、そのセルの形式(書式->セル->表示形式)が文字列になっているか確認してください。
それでもダメなら、A列のデータを教えてください。
ありがとうございます!!!!
いけました。動きました!
初心者な質問で本当にすいませんでした。
でも、本当に助かりました。
ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelVBAで、index、match関数を使用して、指定範囲に出力したい 3 2022/10/18 21:53
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) VBA 請求書自動作成 3 2022/04/24 01:58
このQ&Aを見た人はこんなQ&Aも見ています
-
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
複数の条件に合う行番号を取得するには
その他(Microsoft Office)
-
-
4
VBAでのMATCH関数の使用
Visual Basic(VBA)
-
5
Application.Matchで特定行の検索
Visual Basic(VBA)
-
6
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
7
VBAでのMATCH関数
Visual Basic(VBA)
-
8
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
9
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
10
ApplicationとWorksheetFunctionの違い
Visual Basic(VBA)
-
11
UserForm1.Showでエラーになります。
工学
-
12
findメソッドの変数について
Visual Basic(VBA)
-
13
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
14
最も近い数値のあるセルを探す
Excel(エクセル)
-
15
VBAで、なぜかSendkeyが効きません。
PowerPoint(パワーポイント)
-
16
エクセルで、オブジェクトの選択を禁止する方法。
Excel(エクセル)
-
17
Integer変数をカラにしたいのですが
Visual Basic(VBA)
-
18
ExcelVBAで、ユーザーフォームを新規Bookにコピーしたい
IT・エンジニアリング
-
19
Refreshで落ちる
Visual Basic(VBA)
-
20
VBA .WorksheetFunctionについて
PowerPoint(パワーポイント)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
彼女のことが好きすぎて彼女の...
-
尿検査前日に自慰行為した時の...
-
検便についてです。 便は取れた...
-
EXCELで条件付き書式で空白セル...
-
精子に血が・・・
-
【Excelで「正弦波」のグラフを...
-
尿検査の前日は自慰控えたほう...
-
EXCELで式からグラフを描くには?
-
イタリアから帰国する際、肉製...
-
至急!尿検査前日にオナニーし...
-
値が入っているときだけ計算結...
-
風俗店へ行く前のご飯
-
VLOOKUP関数を使用時、検索する...
-
精液の落とし方を教えてください
-
Excel 数値の前の「 ' 」を一括...
-
勃起する時って痛いんですか? ...
-
小数点以下を繰り上げたものを...
-
一番多く表示のある値(文字列...
-
excelでsin二乗のやり方を教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
尿検査前日に自慰行為した時の...
-
至急!尿検査前日にオナニーし...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
値が入っているときだけ計算結...
-
リンク先のファイルを開かなく...
-
EXCELで条件付き書式で空白セル...
-
2つの数値のうち、数値が小さい...
-
VLOOKUP関数を使用時、検索する...
-
尿検査の前日は自慰控えたほう...
-
MIN関数で空白セルを無視したい...
-
小数点以下を繰り上げたものを...
-
風俗店へ行く前のご飯
-
エクセルで空白セルを含む列の...
-
Excel 数値の前の「 ' 」を一括...
-
【Excelで「正弦波」のグラフを...
-
納豆食べた後の尿の納豆臭は何故?
-
EXCELで式からグラフを描くには?
-
ある範囲のセルから任意の値を...
おすすめ情報