[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『[マクロ] 値で貼り付け』(あたい)
コピーしたセルを値で貼り付ける場合について教えて下さい。
現在使用しているマクロは元の書式を維持したまま貼り付けになっています。
Dim i As Long, cnt As Long
Dim name As Object
For Each name In Names If name.Visible = False Then name.Visible = True End If Next
For i = 2 To Sheets("リスト(2)").Cells(Rows.Count, 1).End(xlUp).Row Sheets("一般管理費").Copy After:=Sheets(Worksheets.Count) cnt = Sheets.Count Sheets(cnt).name = Sheets("リスト(2)").Cells(i, 6).Value Sheets("リスト(2)").Cells(i, 2).Copy Sheets(cnt).Range("E8") Sheets("リスト(2)").Cells(i, 6).Copy Sheets(cnt).Range("F8") Sheets("リスト(2)").Cells(i, 4).Copy Sheets(cnt).Range("I8")
元の
Sheets("リスト(2)").Cells(i, 2).Copy Sheets(cnt).Range("E8")
のRangeのところへ追記
Sheets("リスト(2)").Cells(i, 2).Copy Sheets(cnt).Range("E8").PasteSpecial Paste:=xlPasteValues, という書き方で良いのでしょうか。
出先でExcelが使用できない為、自分で検証していないのですが…。
考え方が違うのかどうかも含めて教えて頂けると幸いです。
宜しくお願いいたします。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
PasteSpecialにカーソルを置きF1キーを押してヘルプを確認してはどうか。 (ねむねむ) 2018/05/29(火) 15:54
↓参考URL>>
http://officetanaka.net/excel/vba/cell/cell09.htm
https://kosapi.com/post-2851/
(まっつわん) 2018/05/29(火) 16:09
ヘルプの確認方法ありがとうございました。
まっつわん様
貼り付けて頂きましたタナカさんのところで無事解決しました!
検索はしていたのですが、検索のキーワードがへたくそだったのかもしれません。
お知恵をお借り出来て良かったです。
Sheets("リスト(2)").Cells(i, 2).Copy Sheets(cnt).Range("E8").Value
でOKでした。
マクロってなかなか奥が深いですね。
ありがとうございました。
(あたい) 2018/05/29(火) 17:02
解決したのは本当でしょうが、↑は間違えていませんか。
(マナ) 2018/05/29(火) 19:13
するどいご指摘ありがとうございます。
なぜわかるのですか!ビックリです。
実は、1か所は解決したのですが、2か所は解決していません。
同じ式で3か所、値で貼り付けたかったのですが
1行目(E8)、2行目(F8)は、末尾に .valueだと何も貼り付けられなくなりました。
3行目(I8)は、値で張り付いた状態です。
For i = 2 To Sheets("リスト(2)").Cells(Rows.Count, 1).End(xlUp).Row Sheets("一般管理費").Copy After:=Sheets(Worksheets.Count) cnt = Sheets.Count Sheets(cnt).name = Sheets("リスト(2)").Cells(i, 6).Value Sheets("リスト(2)").Cells(i, 2).Copy Sheets(cnt).Range("E8") Sheets("リスト(2)").Cells(i, 6).Copy Sheets(cnt).Range("F8") Sheets("リスト(2)").Cells(i, 4).Copy Sheets(cnt).Range("I8").Value
(あたい) 2018/05/30(水) 16:38
>Sheets("リスト(2)").Cells(i, 2).Copy Sheets(cnt).Range("E8").PasteSpecial Paste:=xlPasteValues, >という書き方で良いのでしょうか。
1行でなく、2行にわけて記述してください。
コピー元,Copy 貼り付け先.PasteSpecial Paste:=xlPasteValues
という構文です。
'----
または、
貼り付け先.Value = コピー元,Value
だと、1行です。
例えばこうです。
Sheets(cnt).Range("E8"),Value = Sheets("リスト(2)").Cells(i, 2).Value Sheets(cnt).Range("F8"),Value = Sheets("リスト(2)").Cells(i, 6).Value Sheets(cnt).Range("I8"),Value = Sheets("リスト(2)").Cells(i, 4).Value
(マナ) 2018/05/30(水) 18:46
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.