[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『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.