「夫を成功」へ導く妻の秘訣 座談会

昔 作ったマクロのVLOOKUPが動かなくなってしまいました。
詳しい方教えていただきたいです。

※マクロは、VBAではなく Excelのマクロボタンで作ったものです。

【sheet1】
専用システムからデータをひっぱってきたもの

【sheet2】
専用システムからデータをひっぱってきたもの

【sheet3】
専用システムからデータをひっぱってきたもの

【sheet4】
Excelのデータ(前月分のデータ)

専用システム+専用システム+専用システム+Excelデータ
を同じExcelファイルに貼りつけ
マクロボタンを押すと、VLOOKUPでそれぞれのデータを
ひっぱってきてくれてsheet1に計算してくれるというものでした。

sheet4のExcelデータでエラーが出てしまっています。

※文字列ではないです
全部、数値にしています

※数式に間違えはありません

前まで使えていましたが、何ヶ月ぶりにさわったら使えなくなってしまってました。

何か、文字列とか、何かささいなデータの違いでエラーが出てしまっていると思います。

詳しい方 教えてください!お願いします!!

質問者からの補足コメント

  • Columns("C:D").Select
    Selection.ClearContents
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("E10").Select
    Columns("B:B").ColumnWidth = 28.13
    Range("C1").Select

      補足日時:2020/06/18 14:25
  • ActiveCell.FormulaR1C1 = "売上"
    ActiveCell.Characters(1, 2).PhoneticCharacters = "ウリアゲ"
    Range("D1").Select
    ActiveCell.FormulaR1C1 = "月初"
    ActiveCell.Characters(1, 1).PhoneticCharacters = "ツキ"
    ActiveCell.Characters(2, 1).PhoneticCharacters = "ハジ"
    Range("E1").Select

      補足日時:2020/06/18 14:26
  • ActiveCell.FormulaR1C1 = "仕入"
    ActiveCell.Characters(1, 2).PhoneticCharacters = "シイレ"
    Range("F1").Select
    ActiveCell.FormulaR1C1 = "粗利"
    ActiveCell.Characters(1, 2).PhoneticCharacters = "アラリ"
    Range("H1").Select
    ActiveCell.FormulaR1C1 = "差異"
    ActiveCell.Characters(1, 2).PhoneticCharacters = "サイ"
    Rows("1:1").Select

      補足日時:2020/06/18 14:27
  • .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlCenter
    .WrapText = False
    .Orientation = 0
    .AddIndent = False
    .IndentLevel = 0
    .ShrinkToFit = False
    .ReadingOrder = xlContext
    .MergeCells = False
    End With

      補足日時:2020/06/18 14:28
  • Range("H2").Select
    ActiveCell.FormulaR1C1 = "=RC[-5]-RC[-4]-RC[-3]-RC[-2]+RC[-1]"
    Range("H2").Select
    Selection.AutoFill Destination:=Range("H2:H2700")
    Range("H2:H2700").Select
    Range("C2").Select

      補足日時:2020/06/18 14:29
  • ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2],当月売上!C[-2]:C[3],4,FALSE)"
    Range("C2").Select
    Selection.AutoFill Destination:=Range("C2:C2700")
    Range("C2:C2700").Select
    Range("D2").Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-3],'月末棚卸一覧表前月'!C[-3]:C[1],5,FALSE)"
    Range("D2").Select

      補足日時:2020/06/18 14:30
  • Selection.AutoFill Destination:=Range("D2:D2700")
    Range("D2:D2700").Select
    Range("E2").Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-4],当月仕入!C[-4]:C,4,FALSE)"
    Range("E2").Select
    Selection.AutoFill Destination:=Range("E2:E2700")
    Range("E2:E2700").Select
    Range("F2").Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-5],当月売上!C[-5]:C,5,FALSE)"
    Range("F2").Select

      補足日時:2020/06/18 14:30
  • Selection.AutoFill Destination:=Range("F2:F2700")
    Range("F2:F2700").Select
    Range("G1").Select
    Selection.ClearContents
    ActiveCell.FormulaR1C1 = "月末"
    ActiveCell.Characters(1, 2).PhoneticCharacters = "ゲツマツ"
    Range("G1").Select
    End Sub

      補足日時:2020/06/18 14:31
  • d-q-t-p様

    マクロを貼ってみました。文字制限があるため、何回も分けて貼り付けました。
    もし、何か数式以外で考えられることがありましたら、教えていただきたいです。

    わかっていること
    ・自分のパソコン以外では、マクロが動く
    ・文字列は数値で合わせています
    ・自動計算になっています

      補足日時:2020/06/18 14:38

A 回答 (6件)

それだけの材料では判断できないでしょう。


>何か、文字列とか、何かささいなデータの違いでエラーが出てしまっていると思います
多分、そうなのでしょう、以前正常に作動していたのなら。
データも文字列も提示されていない状況では、「ささいなデータの違い」などわかるはずがない。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます

データのどの部分を提示したらよろしいでしょうか?
プロパティでしょうか?

教えてください。宜しくお願い致します。

お礼日時:2020/06/15 16:24

この説明では誰にも何にも伝わりません。


「専用システム」では説明になっていませんし。
「どこに」「何が」「どのように」がさっぱりです。

VBEを開いて 作ってあるコードを提示したとしても状況説明が不足
している状態では何が問題になっているかの判断が付きません。
そもそもが記録マクロではコードもぐちゃぐちゃでしょうし。

> 詳しい方 教えてください!お願いします!!
VBAの勉強をする気がないなら 多分一から作り直した方が早いと思
います。

個人的には「作り直すくらいならクエリでやった方がいいんじゃな
いの?」とは思いますが……
    • good
    • 1
この回答へのお礼

ご回答ありがとうございました

説明が、あいまいですみませんでした…

クエリは、アクセスのクエリでしょうか?

お礼日時:2020/06/16 11:28

何ヶ月かぶりにってその間PC環境は何も変わっていないとしても、他のPCではどうなのか?も検証の余地ありですよね。


あとは自動計算が切れたままになっているとか?
https://www.manetama.jp/report/excel-hack-calcul …

またはボタンが動いていない(デザインモード・リンクがつながってない)なら、別のボタンを配置してマクロを組み付けてみるとか。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました

何年か前に自分で作ったマクロですが、マニュアル作成のために
久しぶりにさわったら使えなくなってしまっていました

他のパソコンでは動きます

自分のパソコンでは何回試してもダメでした

自動計算になっていますが、もう一度見てきます

お礼日時:2020/06/16 11:26

こんばんは、


>sheet4のExcelデータでエラーが出てしまっています。
エラーと言っても色々考えられるかと思いますので、エラーの詳細とデバッグでのコードを提示してはどうでしょう。

>専用システムからデータをひっぱってきたもの
データ量が判りませんが、蓄積されるデータならデータが増え
カウント変数などでIntegerを使っているためエラーが返っている(実行時エラー6)
Longにすれば良いだけとか、

提示のご質問では、推測するにも限度がありますね。。
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます

エラーは、#N/A です。

私はパソコンそんなに詳しくないので、わかっていませんが
専用システムでひっぱってきたデータからはマクロうまくいくのに、
前月データ(専用システムからのデータではなく、Excel)からの
データは情報をひっぱってきてくれないため、何か些細な文字列とか
そういう性質の違いからきていると思っています

うまく説明できず、すみません

4つのシートをすべて数値にして、
計算も自動にしています

お礼日時:2020/06/16 11:25

> 説明が、あいまいですみませんでした…


今からでもどんなマクロでどんな数式なのか説明された方がいい
と思います。「何かささいなデータの違い」であって説明せずに
原因が判明することはないです。

ご自身で触っている内に何となく解決したというなら別ですが。

この質問文をどう読んでも それぞれのシートの関係性や どこに
数式が入っているのかが分かりません。「エラー」と書いていま
すが マクロのエラーなのか数式のエラーなのかも分かりません。

どうも読んでいると数式のエラーなのかなと思いますが それなら
数式を提示しないことには考えようがありません。

> sheet1に計算してくれるというものでした。
と書いているのに

> sheet4のExcelデータでエラーが出てしまっています。
エラーが出ているのが Sheet4というのもよく分からないところ
です。

> クエリは、アクセスのクエリでしょうか?
いいえ。 Excelの話です。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました
ここでマクロのコードを貼ると文字オーバーになってしまうため、
補足に何回かわけて入力してみます。
もし何かわかることがありましたら、教えていただきたいです。
私は、VBAは分からず、マクロを作成するときは、マクロ開始ボタンで
作っています。それでは、また宜しくお願い致します。

お礼日時:2020/06/18 14:23

#4です。


>#N/A は、VLOOKUPを使用しているとの事なので
ご存知かと思いまっすが、検索した値が見つからない場合に返されるエラーです。

これは、算出と言う意味では、エラーですが、値がない場合が当然存在する範囲に対して行っているのなら
処理としては1つの結果です。

セルに対して、関数式を入力するような方法で処理しているのなら、(#N/Aなので多分)
= "=VLOOKUP(・・・
= "=IFERROR(VLOOKUP    ・・・・  エラー処理、IFERRORを追加すると#N/Aは表示されなくなるかと思います。

エラーの場合、何を返すのが良いかも、関連が分らないので明確に出来ませんが、結果で除算を行っていないなら、
>全部、数値にしています、、、、0で良いのかもしれません。  = "=IFERROR(VLOOKUP(・・・・),0)

エラーが出て良いのか、悪いのか使用目的が解らないので何とも言えませんが、
Excelのデータ(前月分のデータ)の内容とVLOOKUPで検索する値の関連を調べれば、良いのでは無しでしょうか?


もっとも、
>他のパソコンでは動きます
>自分のパソコンでは何回試してもダメでした
同じデータ、同じExcelBookでなら、関係ないかもしれません。。。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました
マクロ難しいですね・・・・・・

私のパソコン以外では、このマクロ使えるので何かよくわからない些細なことで
動かなくっていまっています

お礼日時:2020/06/18 14:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング