tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルVB6からExcel操作する際のシート間形式を指定して貼付け
記事No16311
投稿日: 2017/06/05(Mon) 09:59
投稿者パパ蔵
Windows7環境でVisualBasic6.0を用い、Excelシート操作しています。
以下の様にCOPY&PASTEする際、COPY元のセルに数式が入っている場合、
貼付け先のシートセルに形式を指定して貼付けしたいのですが、
式がそのまま貼り付けられ、貼り付け先の該当しないセルを用いた
計算が行なわれます。
貼付け元のセルで演算した値のみ、貼り付け先のシートセルに
貼りつけする方法は無いでしょうか。

図表を貼りつける方法等は他の方の問合せを拝見し参考にさせて頂きましたが、
今回の様な場合、どの様に使用したらよいか理解できませんでした。

アドバイス頂けたら幸いです。

xlSheet0.Activate
xlSheet0.Cells(1,1).Copy
xlSheet10.Activate
xlSheet10.Cells(1,1).Select
xlSheet10.Paste

[ツリー表示へ]
タイトルRe: VB6からExcel操作する際のシート間形式を指定して貼付け
記事No16312
投稿日: 2017/06/05(Mon) 15:42
投稿者魔界の仮面弁士
> 貼付け元のセルで演算した値のみ、貼り付け先のシートセルに
> 貼りつけする方法は無いでしょうか。
値を複写するだけならば、Activate 等で切り替えたりする必要も無く、
 xlSheet10.Cells(1, 1).Value = xlSheet0.Cells(1, 1).Value
の一行だけで良いのでは?


> 貼付け先のシートセルに形式を指定して貼付けしたいのですが、
「形式を指定して貼り付け」を使うのであれば、xlSheet10.Paste ではなく
  xlSheet10.Cells(1, 1).PasteSpecial Paste:=xlPasteValues
という感じで。

[ツリー表示へ]
タイトルRe^2: VB6からExcel操作する際のシート間形式を指定して貼付け
記事No16313
投稿日: 2017/06/05(Mon) 17:22
投稿者パパ蔵
> > 貼付け元のセルで演算した値のみ、貼り付け先のシートセルに
> > 貼りつけする方法は無いでしょうか。
> 値を複写するだけならば、Activate 等で切り替えたりする必要も無く、
>  xlSheet10.Cells(1, 1).Value = xlSheet0.Cells(1, 1).Value
> の一行だけで良いのでは?
>
>
> > 貼付け先のシートセルに形式を指定して貼付けしたいのですが、
> 「形式を指定して貼り付け」を使うのであれば、xlSheet10.Paste ではなく
>   xlSheet10.Cells(1, 1).PasteSpecial Paste:=xlPasteValues
> という感じで。

魔界の仮面弁士様、大変助かりました。
PasteSpecialを用いて思っている通りにCOPY & PASTE出来ました。
有難う御座いました。

[ツリー表示へ]