
いつもお世話になっております。
エクセル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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
最も近い数値のあるセルを探す
Excel(エクセル)
-
複数の条件に合う行番号を取得するには
その他(Microsoft Office)
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
-
4
Rangeメソッドは失敗しました。globalオブジェクトについて
Excel(エクセル)
-
5
VBA たまに変数がempty値になるエラー
Excel(エクセル)
-
6
excel match で日付が見つからない
PowerPoint(パワーポイント)
-
7
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
8
VBA エラー回避を教えてください。ループ内のMatchで値がないと止まってしまいます。
Excel(エクセル)
-
9
VBAでのMATCH関数の使用
Visual Basic(VBA)
-
10
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
11
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
12
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
13
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
14
マクロの「SaveAs」でエラーが出るのを解消したいです(再)
Visual Basic(VBA)
-
15
ApplicationとWorksheetFunctionの違い
Visual Basic(VBA)
-
16
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
17
VBAでの Replace関数で、ワイルドカードは使えないのでしょうか?
Visual Basic(VBA)
-
18
Excel VBAで同じフォルダ内のファイルを開くには?
Excel(エクセル)
-
19
エクセルVBA 「On Error GoTo 0」について
Excel(エクセル)
-
20
UserForm1.Showでエラーになります。
工学
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
精液の落とし方を教えてください
-
5
赤血球が多いと言われました。
-
6
健康診断の再検査で病院で血液...
-
7
射精をして1週間以内に尿検査を...
-
8
納豆食べた後の尿の納豆臭は何故?
-
9
テスターで断線を調べる方法教...
-
10
EXCELで式からグラフを描くには?
-
11
精液が漂白剤のにおいがする・・・
-
12
検便を取ったのですが、棒から...
-
13
尿検査前日に自慰行為した時の...
-
14
男です。昨日の午後3時くらいに...
-
15
麻疹風疹の抗体検査結果につい...
-
16
バイアクアラの通販の購入方法...
-
17
tracert の結果で最後のルータ...
-
18
筋トレするとチンコが縮んじゃ...
-
19
値が入っているときだけ計算結...
-
20
他人の血を舐めてしまったのですが
おすすめ情報
公式facebook
公式twitter