Excel VBA 質問スレッド No.51 (未解決)

VBAのシート間コピーがうまくいきません

投稿者 : リュウ     投稿日時 : 2018/10/12(Fri) 10:49:53     OS : Windows 8     EXCEL : Excel 2013
Private Sub CommandButton1_Click()
Dim DPNO As String

DPNO = Range("W43").Value ' 伝票Noを取得
Worksheets("売上伝票ベース").Copy After:=Worksheets(Worksheets.Count) ' 末尾にコピー
ActiveSheet.Name = "売上伝票" & DPNO ' 末尾に伝票Noをつける

Dim i As Long, j As Long, r As Long '変数の宣言
Worksheets("受注伝票ベース").Activate '受注伝票を選択

Dim JD As Worksheet
Dim UD As Worksheet

Set JD = Sheets("受注伝票ベース") 'JDに受注伝票をセット
Set UD = Sheets("売上伝票" & DPNO) 'UDに売上伝票をセット

j = 32
For i = 54 To 70

If Sheets("受注伝票ベース").Cells(i, 19) <> "" Then
★JD.Range(JD.Cells(i, G), JD.Cells(i, Q)).Copy Destination:=UD.Range("Aj")★
j = j + 1

End If
Next i

End Sub


★で囲んだ行がエラーが出てしまい実行できません。
なぜエラーが出るのかが不明なのでご教授願えませんでしょうか?

[返信 1] Re : VBAのシート間コピーがうまくいきません
投稿者 : すずき     投稿日時 : 2018/10/12(Fri) 22:02:10
エラーの内容(エラーメッセージなど)を記載していただけると回答しやすいのですが、

単純に★の箇所のG,Qの変数が宣言されていないだけでは?

G,Qが変数ではなく列名として使用してるのであればダブルクォーテーションで

囲って"G","Q"としていただければいいと思います。

[返信 2] Re : VBAのシート間コピーがうまくいきません
投稿者 : aki     投稿日時 : 2019/04/27(Sat) 09:43:02
お世話になっております。もう解決したのですかね?
AJの範囲指定がまずいのではないかなと思います。
例えば、AJ12とか、AJ2:AJ20などとすると良いかもしれませんでし。

■[質問] リュウさん(2018-10-12 10:49:53)の記事
> Private Sub CommandButton1_Click()
> Dim DPNO As String

> DPNO = Range("W43").Value ' 伝票Noを取得
> Worksheets("売上伝票ベース").Copy After:=Worksheets(Worksheets.Count) ' 末尾にコピー
> ActiveSheet.Name = "売上伝票" & DPNO ' 末尾に伝票Noをつける

> Dim i As Long, j As Long, r As Long '変数の宣言
> Worksheets("受注伝票ベース").Activate '受注伝票を選択

> Dim JD As Worksheet
> Dim UD As Worksheet

> Set JD = Sheets("受注伝票ベース") 'JDに受注伝票をセット
> Set UD = Sheets("売上伝票" & DPNO) 'UDに売上伝票をセット

> j = 32
> For i = 54 To 70

> If Sheets("受注伝票ベース").Cells(i, 19) <> "" Then
> ★JD.Range(JD.Cells(i, G), JD.Cells(i, Q)).Copy Destination:=UD.Range("Aj")★
> j = j + 1

> End If
> Next i

> End Sub

> ★で囲んだ行がエラーが出てしまい実行できません。
> なぜエラーが出るのかが不明なのでご教授願えませんでしょうか?

スポンサード リンク
 
 
当掲示板について
返信入力フォーム
お 名 前  :
内  容   :
ステータス  : この質問を解決済みにする

認証コード  :
        キャプチャ画像


( 処理日時 : 2019-07-18 02:39:09 )

Page
Top