[[20170829133115]] 『マクロについて』(八) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロについて』(八)

いつもお世話になっております。
いまさらながら、マクロの勉強をしております。
サイトで見つけた初心者マクロのVBAを習って自分で入力してみましたが
「コンパイル エラー:
修正候補:=   」と表記されます。
()、,、'、等の全角半角等もチェックしましたがエラーがわかりません。
恐れいりますがご教授をお願いいたします。

Sub求書作成()

DimwsdataAsWorksheet '「請求データシート」入れるオブジェクト変数
Dimwslnvoice As Worksheet '「請求書ひな形」シートを入れるオブジェクト変数

SetwsData = ThisWorkbook.Worksheets("請求データ")
Setwslnvoice = ThisWorkbook.Worksheets("請求書ひな形")

  '2行目を請求書ひな形に転記
Wslnvoice.Cells(21, 1).Value = wsDate.Cells(2, 1).Value
Wslnvoice.Cells(21, 2).Value = wsDate.Cells(2, 2).Value
Wslnvoice.Cells(21, 3).Value = wsDate.Cells(2, 3).Value

'3行目を請求書ひな形に転記
Wslnvoice.Cells(22, 1).Value = wsDate.Cells(3, 3).Value
Wslnvoice.Cells(22, 2).Value = wsDate.Cells(3, 2).Value
Wslnvoice.Cells(23, 3).Value = wsDate.Cells(4, 3).Value

'4行目を請求書ひな形に転記
Wslnvoice.Cells(23, 1).Value = wsdata.Cells(4, 1).Value
Wslnvoice.Cells(23, 2).Value = wsdata.Cells(4, 2).Value
Wslnvoice.Cells(23, 3).Value = wsdata.Cells(4, 3).Value

End Sub

< 使用 Excel:Excel2013、使用 OS:Windows7 >


[[20170823140710]] 『日付と日付』(八) >>BOT
 まずこちらを終わらせてからにしませんか?

(稲葉) 2017/08/29(火) 13:39


(稲葉)様コメントを頂きありがとうございます。
[[20170823140710]]をするために、最初から勉強しようとしてましたが

の続きでやります。
申し訳ありません。
(八) 2017/08/29(火) 13:42

なんで宣言と変数等がくっついているのでしょう? マクロの編集画面からコピペすれば、間にスペースがあるはずですが。どんなサイトを見ても、そんな風にくっつける事を薦めているはずがないですよ。

あと、wsdataとwsdateが混在していますが、打ち間違いですか? こういう単純ミスは、どんなに時間がかかろうとも、ご自分でデバッグして直すべきであり、他人に指摘される事は恥と思ってください。(「ツール」−「オプション」で、「自動構文チェック」を有効にしておくべき)
(???) 2017/08/29(火) 13:48


http://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_030.html
http://officetanaka.net/excel/vba/beginner/11.htm

 こちら参考にして、もう一度分からないところ明確にしてみてください。

(稲葉) 2017/08/29(火) 13:52


 'Sub求書作成()
  Sub 求書作成()
  ' ↑Sub との間に半角スペースが足りません。
  '「コンパイル エラー: 修正候補:=   」と表記される原因はまずこれ
   'そもそも「求書作成」ではなく元のお手本では「請求書作成」だったのでは?
   '言われた通りのことをやりましょう。
   'マクロの知識の問題、エクセルの知識の問題、ではなく、言われた通りのことができるかどうか、の問題です。

 'DimwsdataAsWorksheet
  Dim wsData As Worksheet
  '各語の間に半角スペースが足りません
  'また、wsdataとwsDataとwsDateが混在しています
  '同様のミスが他の行にも多数存在しています
   'お手本のとおりに書きましょう

 '3行目を請求書ひな形に転記
  Wslnvoice.Cells(22, 1).Value = wsDate.Cells(3, 3).Value
  Wslnvoice.Cells(22, 2).Value = wsDate.Cells(3, 2).Value
  Wslnvoice.Cells(23, 3).Value = wsDate.Cells(4, 3).Value
  '       お手本は↑(22, 3)じゃない?↑e→a? ↑(3, 1)(3, 2)(3, 3)とかじゃないの? 本当にお手本見てちゃんと書いてる?
   'お手本通りに書かなければ動きません
(tata) 2017/08/29(火) 16:31

(???)様(稲葉)様(tata)様コメントを頂きありがとうございます。
稲葉様から戴いたHP office TANAKAを元にマクロを勉強しておりその中の切れ端を見ておりました。
自身のVBAとHPを見比べながら、作業しておりましたが、その際、空白が目に入らなかったのですが
こちらの掲示板に貼り付けた際に、空白に目がいきました。
大変申し訳ありません。
(???)様から頂いたコメントより
wsdataとwsdateうち間違いです。
「自動構文チェック」のレ点チェックは入っております。
(tata)様
「求書作成」は「請求書作成」のうち間違いです。
明日改めましてお手本見てちゃんと書きます。
皆様親切にご指導を頂き誠にありがとうございます。

(八) 2017/08/29(火) 20:40


昨日お話させていただきました分、http://officetanaka.net/excel/vba/beginner/11.htmではなくてhttps://tonari-it.com/vba-programming-variable/でした。
データを自身のファイルに貼り付けましたが実行時エラー'9':
インデックスが有効範囲にありません
と出るので、再度自身で入力します。
(八) 2017/08/30(水) 11:42

 これまでの色々なエラーの原因は、
「貴方が言われた通りのことをやっていない」
 事が原因です。
  
  
 エラーメッセージから推測すると
 お手本には
 >1 請求データと請求書のひな形を用意する
 >使用するエクセルファイルには「請求データ」と「請求書ひな形」の2つのシートが作成されているとします。
 と書いてあるのに、
 「Sheet1」「Sheet2」のままだったり、
 もしくは「請求書データ」だったり「請求データ」だったり、お手本と違ったことを書いているのではないでしょうか。

 (tata) 2017/08/30(水) 12:58
 20:39 日本語修正

(tata)様コメントを頂きありがとうございます。
〉これまでの色々なエラーの原因は、
「貴方が言われた通りのことをやっていない」
 事が原因です。
仰る通りです。
  
「Sheet1」「Sheet2」のままだったり、
 もしくは「請求書データ」だったり「請求データ」だったりは
明日現物みて確認します。
あらためて最初からマクロ自体勉強をしなおします
ありがとうございました。
(八) 2017/08/30(水) 22:44

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.