[[20171019101921]] 『VBA 貼り付けについて』(miruku) ページの最後に飛ぶ

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

 

『VBA 貼り付けについて』(miruku)

お世話になります
たびたび申し訳御座いません
ご教授頂けたら幸いと考えております
お手数お掛けいたしますが
何卒 宜しくお願いいたします

Private Sub CommandButton9_Click()

   If Me.ListBox1.ListIndex = -1 Then
        MsgBox "未選択"
    Else
If Worksheets(ListBox1.Value).Range("A2") = "" Then
Worksheets(ListBox1.Value).Range("A2").PasteSpecial
Else
 Worksheets(ListBox1.Value).Range("A2", Cells(Rows.Count, 1)).End(xlUp).Offset(1).PasteSpecial

End If

 End If
End Sub

下記の部分で1004 アプリケーション 若しくはオブジェクト定義エラー
と出てしまいます どの様に修正をすればいいのでしょうか

 Worksheets(ListBox1.Value).Range("A2", Cells(Rows.Count, 1)).End(xlUp).Offset(1).PasteSpecial

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


 ぱっと見ですが。
 ↓を変更したらどうなりますか?

 >Worksheets(ListBox1.Value).Range("A2", Cells(Rows.Count, 1)).End(xlUp).Offset(1).PasteSpecial

 Worksheets(ListBox1.Value).Range("A2", Cells(Rows.Count, 1).End(xlUp).Offset(1)).PasteSpecial
(カリーニン) 2017/10/19(木) 10:28

 よく見たら↓のようにしなととまずいですね。

 Worksheets(ListBox1.Value).Range(Worksheets(ListBox1.Value).Range("A2"), Worksheets(ListBox1.Value).Cells(Rows.Count, 1).End(xlUp).Offset(1)).PasteSpecial
(カリーニン) 2017/10/19(木) 10:32

 >下記の部分で1004 アプリケーション 若しくはオブジェクト定義エラー 
 >と出てしまいます どの様に修正をすればいいのでしょうか 
 >Worksheets(ListBox1.Value).Range("A2", Cells(Rows.Count, 1)).End(xlUp).Offset(1).PasteSpecial

Cells(Rows.Count, 1)が
Activesheet.Cells(Rows.Count, 1)と解釈されています。
つまり、アクティブシートがWorksheets(ListBox1.Value)ではない場合、
シート間をまたがるセル範囲は定義できないよ、というエラーです。
ちゃんとそれぞれにシートを修飾するとそういう間違いがなくなります。

Private Sub CommandButton9_Click()

    Dim ws As Worksheet

    If Me.ListBox1.ListIndex = -1 Then Exit Sub

    Set ws = Worksheets(ListBox1.Value)
    If ws.Range("A2") = "" Then
        ws.Range("A2").PasteSpecial
    Else
        ws.Range("A2", ws.Cells(ws.Rows.Count, 1)).End(xlUp).Offset(1).PasteSpecial
    End If
End Sub

ついでに同じことを2度以上書くときは変数を上手く使うと良いと思います。
それから、リストボックスが未選択の時はコマンドボタンを使用不可の状態にしておくと、
うるさいメッセージボックスは必要なくなります。
(メッセージボタン出すと、ユーザーに必ずOKを押させないといけなくなる)
http://officetanaka.net/excel/vba/tips/tips136.htm

(まっつわん) 2017/10/19(木) 10:43


カリーニン様

有難う御座います

まっつわん様

ご教示頂きまして 有難う御座いました
無事解決できました

又エラー回避の件のご指導 本当に助かりました
今後共宜しくお願いいたします

(miruku) 2017/10/19(木) 10:50


コメント返信:

[ 一覧(最新更新順) ]


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