[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『「「データを蓄積したい。」[初心者] について」[トランプ] について』(トランプ)
投稿
[[20170325225457]] 『「データを蓄積したい。」[初心者] について』(トランプ)
について...
皆さまにお力添えいただいた上記のマクロを活用して、別のデータを作成中なのです。
基本的なつくりは同様で、キーとなるものは、西暦と月の組合せです。
例)201705
このキーは、Sheet1のB5セルにあります。
これで、データの登録、クリアは実行できるのですが、読込の際に以下のようなエラーメッセージが出てしまいます。
「実行時エラー'1004': WorksheetFunction クラスの Match プロパティを取得できません。」
どのように修正が必要か分かりません。
ご教授のほど、よろしくお願いします。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
エラーがでた現在のコードを提示したほうがよいです。
どのように改変したかわからないのに、回答しようがないです。
(マナ) 2017/05/03(水) 10:17
Sub Posting_Output() 'データベースのデータを読込 Dim sh1 As Worksheet Dim sh2 As Worksheet Dim sh3 As Worksheet Dim v As Variant Dim row1 As Long Dim i As Long
'変数の設定 Set sh1 = Sheets(sh1Name) Set sh2 = Sheets(sh2Name) Set sh3 = Sheets(sh3Name) v = sh3.Range("A1").CurrentRegion.Value
'データの存在チェック If sh1.Range(v(2, 2)).Value = "" Then MsgBox "日付が未入力なので読込できません。" Exit Sub End If If WorksheetFunction.CountIf(sh2.Range("A:A"), sh1.Range(v(2, 2))) Then row1 = WorksheetFunction.Match(sh1.Range(v(2, 2)), sh2.Range("A:A"), 0) ←この行がデバック Else MsgBox "該当の日付のデータがありません。" Exit Sub End If
'データの転記 For i = 2 To UBound(v, 1) If v(i, 4) <> OneWay Then sh1.Range(v(i, 2)).Value = sh2.Cells(row1, v(i, 3)).Value End If Next i
End Sub (トランプ) 2017/05/03(水) 10:22
https://www.moug.net/tech/exvba/0100035.html
にあるように Application.Matchをつかったほうが、
対象なしの場合のハンドリングが楽です。
参考にしてください。
あえて、修正コード例は書きません。
(γ) 2017/05/03(水) 10:26
すみません。
こちらでも教えてください。
>If WorksheetFunction.CountIf(sh2.Range("A:A"), sh1.Range(v(2, 2))) Then
これで、対策になっていると思っていたのですが、
他に、どのようなケースでエラーが考えられるのでしょうか。
(マナ) 2017/05/03(水) 11:10
取り敢えずコード実行中の、v(2, 2)の中身はどうなってますか? またデータベースのA列にキーコードが格納されてるんですか?
もし変数の中身の見方が分からない場合、デバッグの仕方は分かりますか? 以下のページなどを熟読してデバッグの仕方を習得して下さい。 http://www.239-programing.com/excel-vba/basic/basic021.html http://www.excel-excel.com/vbachair/step1-7.html http://www.tipsfound.com/vba/01010
(sy) 2017/05/03(水) 11:12
(γ) 2017/05/03(水) 11:20
(トランプ) 2017/05/03(水) 13:02
ちょっと気になる事があったので試してみました。
201705 こう言う数字データを扱う時は注意しないといけないのが、片方が文字で片方が数値の時は、 COUNTIFは一致と判断されますが、MATCHの方は不一致と判断されます。
キーの格納されたデータベースのA列や、帳票の方のB5セル?の書式を確認してみて下さい。
(sy) 2017/05/03(水) 15:25
このデータを基に複数値で検索する方法について、再度ご質問させていただきたいと思います。
(トランプ) 2017/05/03(水) 18:07
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.