Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Home : Excel 2003)
値のみコピーしたい
投稿日時: 18/01/28 14:52:56
投稿者: ekane

いつもお世話になっております。
下記のコードを利用しているのですが貼り付けを実行すると
(参照元には計算式が入っており)その表示されている数値ではなく計算式が
コピーされてしまいます。
(式の入っていない数値だけのセルはそのまま数値がコピーされます)
 
sh1.Range(sh1.Cells(i, "c"), sh1.Cells(i + 5, "e")).Copy _
sh1.Cells(k + 1, "h")
 
このPasteSpecial(xlPasteValues)を使用するようですがどのようにしたら良い
のでしょうかご教授下さい。

回答
投稿日時: 18/01/28 15:08:27
投稿者: WinArrow
投稿者のウェブサイトに移動

「Copy]メソッドを使うと、OSが管理しているクリップボードを経由することになります。
>PasteSpecial(xlPasteValues)
を使用しても同じです。
Copyメソッドを使わない方法を紹介します。
 
With Sh1
    .Cells(k + 1, "H").Resize(6, 3).Value = .Cells(i ,"C").Reszie(6, 3).Value
End With

投稿日時: 18/01/28 15:23:34
投稿者: ekane

WinArrow 様
早速のご回答 誠にありがとうございます。
そのままコピペしてみましたら黄色くなりましたので
只今考え中でございます。よくわかっていないので
申し訳ありません。
改めてご報告させていただきます。

回答
投稿日時: 18/01/28 15:32:50
投稿者: WinArrow
投稿者のウェブサイトに移動

ごめんなさい
入力ミスがありました。
 
正解は
With Sh1
     .Cells(k + 1, "H").Resize(6, 3).Value = .Cells(i ,"C").Resize(6, 3).Value
End With
 
です。

投稿日時: 18/01/28 15:48:01
投稿者: ekane

WinArrow 様
早速のご回答ありがとうございました。
大変に嬉しいです。
>Copy]メソッドを使うと、OSが管理しているクリップボードを経由することになります。
>PasteSpecial(xlPasteValues)
>を使用しても同じです。
知らないわからない事だらけです。
この度は本当にありがとうございました!。