
いつもお世話になっております。
エクセル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も見ています
-
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
複数の条件に合う行番号を取得するには
その他(Microsoft Office)
-
-
4
Application.Matchで特定行の検索
Visual Basic(VBA)
-
5
VBAでのMATCH関数の使用
Visual Basic(VBA)
-
6
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
7
Integer変数をカラにしたいのですが
Visual Basic(VBA)
-
8
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
9
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
10
VBAでのMATCH関数
Visual Basic(VBA)
-
11
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
12
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
13
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
14
VBAで、なぜかSendkeyが効きません。
PowerPoint(パワーポイント)
-
15
「Columns(A:C")」の列文字を数字にして表記したい"
Excel(エクセル)
-
16
ApplicationとWorksheetFunctionの違い
Visual Basic(VBA)
-
17
UserForm1.Showでエラーになります。
工学
-
18
WorkBooksをオープンさせずにシートにコピーしたい【EXCEL VBA】
Excel(エクセル)
-
19
Refreshで落ちる
Visual Basic(VBA)
-
20
VBA シートのボタン名を変更したい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
血小板増加について
-
首吊りどこ締めるの
-
検便についてです。 便は取れた...
-
風俗店へ行く前のご飯
-
イタリアから帰国する際、肉製...
-
彼女のことが好きすぎて彼女の...
-
精子に血が・・・
-
腕を見たら黄色くなってる部分...
-
勃起する時って痛いんですか? ...
-
精液の落とし方を教えてください
-
足がまだら模様になります。ど...
-
舌の裏の痛みのないプツプツの...
-
尿検査前日に自慰行為した時の...
-
納豆食べた後の尿の納豆臭は何故?
-
検便を取ったのですが、棒から...
-
自動車学校について
-
中学三年 ちんこが小さいです
-
精子が黄色?
-
病院側から早く来てくださいと...
-
EXCELで式からグラフを描くには?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
検便についてです。 便は取れた...
-
値が入っているときだけ計算結...
-
彼女のことが好きすぎて彼女の...
-
尿検査前日に自慰行為した時の...
-
VLOOKUP関数を使用時、検索する...
-
Excel 数値の前の「 ' 」を一括...
-
精液の落とし方を教えてください
-
【Excelで「正弦波」のグラフを...
-
2つの数値のうち、数値が小さい...
-
風俗店へ行く前のご飯
-
精子に血が・・・
-
リンク先のファイルを開かなく...
-
小数点以下を繰り上げたものを...
-
EXCELで条件付き書式で空白セル...
-
イタリアから帰国する際、肉製...
-
excelでsin二乗のやり方を教え...
-
腕を見たら黄色くなってる部分...
-
病院側から早く来てくださいと...
-
ワードのページ番号をもっと下...
おすすめ情報