いつもお世話になっております。
エクセル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)
-
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
VBAでのMATCH関数の使用
Visual Basic(VBA)
-
-
4
複数の条件に合う行番号を取得するには
その他(Microsoft Office)
-
5
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
6
Excelのmatch関数エラー原因が分かりません
Excel(エクセル)
-
7
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
8
VBA シートをコピーする際に Copyメソッドは失敗しましたのエラーが出てしまいます
Visual Basic(VBA)
-
9
最も近い数値のあるセルを探す
Excel(エクセル)
-
10
EXCEL VBA 指定したファイルが存在しない場合メッセージボックスを表示させる
Access(アクセス)
-
11
「選択範囲を解除してアクティブセルを選択」をマクロで行うにはどうすればよいでしょうか
Excel(エクセル)
-
12
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
13
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
14
VBA 見つからなかった時の処理
Excel(エクセル)
-
15
Rangeメソッドは失敗しました。globalオブジェクトについて
Excel(エクセル)
-
16
エクセルVBAでオートフィルター最上行を取得するには
Excel(エクセル)
-
17
エクセルVBAでコメントのコピー
Excel(エクセル)
-
18
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
19
メッセージボックスのボタン名変更
Visual Basic(VBA)
-
20
VBAで「セルに何か入っている場合」
Windows Me・NT・2000
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
白血球が多いとどんな心配があ...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
至急!尿検査前日にオナニーし...
-
EXCELで条件付き書式で空白セル...
-
甲状腺が腫れているが血液検査...
-
勃起する時って痛いんですか? ...
-
尿検査前日に自慰行為した時の...
-
値が入っているときだけ計算結...
-
2つの数値のうち、数値が小さい...
-
小数点以下を繰り上げたものを...
-
MIN関数で空白セルを無視したい...
-
中出しをするとお腹が痛い・・・。
-
EXCELで式からグラフを描くには?
-
【Excelで「正弦波」のグラフを...
-
ある範囲のセルから任意の値を...
-
エクセルのグラフで、値0のとき...
-
リンク先のファイルを開かなく...
-
これって喉仏ですか? 私は女性...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
至急!尿検査前日にオナニーし...
-
白血球が多いとどんな心配があ...
-
尿検査前日に自慰行為した時の...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
腕を見たら黄色くなってる部分...
-
勃起する時って痛いんですか? ...
-
尿検査の前日は自慰控えたほう...
-
精子が黄色?
-
中出しをするとお腹が痛い・・・。
-
EXCELで条件付き書式で空白セル...
-
口の中に黒い血の塊
-
これって喉仏ですか? 私は女性...
-
2つの数値のうち、数値が小さい...
-
納豆食べた後の尿の納豆臭は何故?
-
EXCELで式からグラフを描くには?
-
小数点以下を繰り上げたものを...
-
excelでsin二乗のやり方を教え...
-
エクセル指定した範囲からラン...
おすすめ情報