5倍速!メールマガジン
外部アカウントで登録
受講生の声
新着の講座投稿
新着の講座コメント
新着のノート投稿
投稿一覧へ新着のノートコメント
表示できる投稿はありません。
サイト運営者紹介
小川 慶一講師/教材/システム開発者紹介
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
表示できる投稿はありません。
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
ゲストさんの投稿
(投稿ID: 3117)
下記のプログラムで実行しましたが、実行後の結果はプログラムが動いていない。
何が問題なのでしょうか? sub matching()が動きません。
下記 sub InvoiceUK転記()を添付します。
=======================================
Sub InvoiceUK転記()
Dim i As Integer
Dim 最終行 As Integer
最終行 = Worksheets("出荷一覧UK").Range("A1").End(xlDown).Row
For i = 3 To 最終行
With Worksheets("Invoice UK")
.Range("A" & i * 5 + 11).Value = Worksheets("出荷一覧UK").Range("A" & i).Value
.Range("A" & i * 5 + 12).Value = Worksheets("出荷一覧UK").Range("B" & i).Value
製品名 = .Range("A" & i * 5 + 12).Value
.Range("F" & i * 5 + 12).Value = Worksheets("出荷一覧UK").Range("C" & i).Value
matching
End With
Next
End Sub
Sub matching()
Dim data
For data = 2 To 700
If Worksheets("Invoice UK").Range("A" & i * 5 + 12).Value = Worksheets("BrooksItemDatabase").Range("A" & data) Then
Worksheets("Invoice UK").Range("A" & i * 5 + 13).Value = Worksheets("BrooksItemDatabase").Range("E" & data).Value
Worksheets("Invoice UK").Range("A" & i * 5 + 14).Value = Worksheets("BrooksItemDatabase").Range("G" & data).Value
Worksheets("Invoice UK").Range("E" & i * 5 + 12).Value = Worksheets("BrooksItemDatabase").Range("F" & data).Value
Worksheets("Invoice UK").Range("H" & i * 5 + 12).Value = Worksheets("BrooksItemDatabase").Range("C" & data).Value
End If
Next
End Sub
小川 慶一さんのコメント
(コメントID: 4562)
> 下記のプログラムで実行しましたが、実行後の結果はプログラムが動いていない。
「実行した」なら、「プログラムは動いた」はずです。
日本語がおかしいか、現象に対する理解がおかしいです。
動作テスト方法の基本を以下で解説しています。
まずはこれらを見てください。
【動画10】 基礎講座第1章10 - 自動データヒント機能
【動画11】 基礎講座第1章11 - テストの方法
https://forum.pc5bai.com/lesson/course/25
↑
各動画で、その動画に関連した質問をされている方とのやりとりも載せています。あわせて参考にしてください。
それからステップイン実行しつつエクセル画面を都度確認し、としていき、どの行を実行しようとするタイミングで予定外の挙動をしているか?を確認ください。
それで分からなければ、問題の状況になっているときの変数値をすべて書き出して投稿してください。
あと、質問はどの動画の投稿画面にしてもよいというものではありません。
その話題に関連する動画のコメント欄にお願いします。(そのほうが、ほかの方の学びにもなりますので)
よろしくお願いいたします。
> お世話になっています。
> 下記のプログラムで実行しましたが、実行後の結果はプログラムが動いていない。
> 何が問題なのでしょうか? sub matching()が動きません。
>
> 下記 sub InvoiceUK転記()を添付します。
>
> =======================================
> Sub InvoiceUK転記()
>
>
> Dim i As Integer
> Dim 最終行 As Integer
>
>
> 最終行 = Worksheets("出荷一覧UK").Range("A1").End(xlDown).Row
>
>
> For i = 3 To 最終行
>
>
> With Worksheets("Invoice UK")
>
>
>
> .Range("A" & i * 5 + 11).Value = Worksheets("出荷一覧UK").Range("A" & i).Value
> .Range("A" & i * 5 + 12).Value = Worksheets("出荷一覧UK").Range("B" & i).Value
> 製品名 = .Range("A" & i * 5 + 12).Value
> .Range("F" & i * 5 + 12).Value = Worksheets("出荷一覧UK").Range("C" & i).Value
>
> matching
>
>
> End With
>
>
>
> Next
>
> End Sub
>
> Sub matching()
>
>
> Dim data
>
> For data = 2 To 700
>
> If Worksheets("Invoice UK").Range("A" & i * 5 + 12).Value = Worksheets("BrooksItemDatabase").Range("A" & data) Then
>
> Worksheets("Invoice UK").Range("A" & i * 5 + 13).Value = Worksheets("BrooksItemDatabase").Range("E" & data).Value
> Worksheets("Invoice UK").Range("A" & i * 5 + 14).Value = Worksheets("BrooksItemDatabase").Range("G" & data).Value
> Worksheets("Invoice UK").Range("E" & i * 5 + 12).Value = Worksheets("BrooksItemDatabase").Range("F" & data).Value
> Worksheets("Invoice UK").Range("H" & i * 5 + 12).Value = Worksheets("BrooksItemDatabase").Range("C" & data).Value
>
> End If
>
> Next
>
>
>
>
> End Sub
>