|
おせわになります。
業務の工数を減らすためにあるツールを作成しています。
ブック1のある行(A列とします)ごとコピーして
現在開いているブック2のB列に貼り付ける際に
「クリップボードに保存されているデータの大きさや形が、
指定された領域と異なります。貼り付けますか?」
とメッセージが出て処理が中断されてしまいます。
ブック1のA列はどこまでデータが入っているのかわかりません。
なので、A列ごとコピーして貼り付けているのですが・・・
列には全てデータが入っているわけではなく、空きセルも存在します。
以下、コードです。
'Excelファイル以外を開けないようにする
OpenFileName = Application.GetOpenFilename( _
"Excelファイル(*.xls;*.xlt),*.xls;*.xlt")
'ファイルが見つからない/キャンセルされた場合
If OpenFileName = False Then
MsgBox ("もう一度ファイルの選択をして下さい")
eflg = True
Exit Sub
End If
'対象ファイルを開く際に見えないように開く
Set xlapp = CreateObject("excel.application")
xlapp.Visible = False
Set bk = xlapp.Workbooks.Open(OpenFileName, , ReadOnly:=True)
'A列をコピー
xlapp.Columns("A").Copy
'集計ブックを選択し、sheet2にコピーする
ThisWorkbook.Activate
Sheets(2).Select
Columns("B").PasteSpecial Paste:=xlPasteValues
お手数をおかけしますが、どなたかご教授お願い致します。
|
|