[[20170301121027]] 『書式のコピーでグループ化のままコピーしたい』(zozo) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『書式のコピーでグループ化のままコピーしたい』(zozo)

いつもお世話になっております。

書式のコピーをしたいのですが、グループ化のままコピーすることは可能でしょうか?
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
’数式と書式のコピー
Selection.PasteSpecial Paste:=xlPasteAllUsingSourceTheme,Operation:=xlNone, _
SkipBlanks:=True, Transpose:=False
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

原本になるファイルの数式と書式をコピーしたいのですが
上記のマクロで行うとグループ化している部分が非表示になってしまいます。
グループ化を反映することはできますでしょうか?

コピー元すべての書式・数式をコピーしたいのですが・・・。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


すみません、追記です。。

下記のように2つ繋げればうまくできました。
1回の処理だとできないのでしょうか?
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
’ "数式&書式"
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone '最初に書式コピー

 Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
 SkipBlanks:=True, Transpose:=False  
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
(zozo) 2017/03/01(水) 12:44

 Selection.PasteSpecial Paste:=xlPasteFormats, Paste:=xlPasteFormulas, Operation:=xlNone

 で出来ないですか?
(2Win) 2017/03/01(水) 12:58

2Win様

お返事ありがとうございます。
上記の式ですと、数式コピーがされませんでした。
空白セルを除きたいので、

 Selection.PasteSpecial Paste:=xlPasteFormats, Paste:=xlPasteFormulas, Operation:=xlNone_ SkipBlanks:=True, Transpose:=False  
としたらエラーになってしまいました。

初心者なものでどうしてエラーになったかがよくわかっておらず、申し訳ありません。
(zozo) 2017/03/01(水) 13:28


 >Selection.PasteSpecial Paste:=xlPasteFormats, Paste:=xlPasteFormulas, Operation:=xlNone_ SkipBlanks:=True, Transpose:=False  
としたらエラーになってしまいました。

 Operation:=xlNoneの後ろの , が抜けてます。

 下記をコピーして実行してみてください。
 Selection.PasteSpecial Paste:=xlPasteFormats, Paste:=xlPasteFormulas

 こちらの環境ではエラーにならずにコピーできました。
(2Win) 2017/03/01(水) 13:51

2Win様

何度もありがとうございます。
記載いただいた式だと、やはり数式のコピー(空白セル除く)ができません。
書式はコピーできますが、数式をかぶせたところが値化してしまいます。

Operation:=xlNone, _ SkipBlanks:=True, Transpose:=False
の部分はいらないということですよね?
試しにつけてみましたが、,を入れてもエラーでした。↓

’数式&書式
Selection.PasteSpecial Paste:=xlPasteFormats, Paste:=xlPasteFormulas, Operation:=xlNone, _ SkipBlanks:=True, Transpose:=False

(zozo) 2017/03/01(水) 15:46


 すみません、ものすごい勘違いしてました。出来ないですね、申し訳ございません。

 Selection.PasteSpecial Paste:=xlPasteAllUsingSourceTheme
 で書式と数式は普通に一緒にコピーできますよね?

 貼り付けた先もグループ化したいということなのでしょうか?
 非表示になる というのがイマイチ理解できてないです。

 どういったデータがあって、どこからどこまでがグループで、どこからどこまでをコピーして、どこに貼り付けるのかを教えていただけますか。

(2Win) 2017/03/01(水) 16:05


ども^^

提示のコードは「形式を選択して貼り付け」のコードですよね?

コピー元のセルはどうやってコピーしているのですか?

またグループ化は列?行?どっちですか?

で、コピーするのは表の内の行?列?どっちでしょう?

(まっつわん) 2017/03/01(水) 16:34


2Win様、まっつわん様

こちらの説明が足りず申し訳ございません。
コピー元は特にセルの指定はせず、シート全体を選択しております。
グループ化しているのは列です。

> Selection.PasteSpecial Paste:=xlPasteAllUsingSourceTheme
この式でやると、なぜかグループ化が反映されず、列が非表示になっている状態になります。
(グループ化した時に出る「+」ボタンがない状態です。)

ファイルの構成ですが、
横に月が並んでいて、列は売上計画、売上前年、前年比、粗利計画、粗利前年、前年比・・・となっている表で、コピー元は前年と前年比をグループ化しています。
前年比には数式が入っており、計画・前年列は縦行を足す数式が入っています。(行は商品?@商品?A・・・となっており、商品?@〜?Dを足す、等の数式が入っています。)
コピー元ファイルの商品?@、商品?A・・・は空白セルです。

コピー先のファイルには前年比や行の数式は入っておらず、商品?@、商品?A・・・に数字が入っています。このファイルに空白セルを除いてコピーをし、なおかつ書式もコピーしたいと思っています。

コピー元もコピー先も行列の構成は同じなので、特にセルは指定せず
全シート選択してコピーしています。
(zozo) 2017/03/02(木) 09:37


 えーと、丸ごとコピーして丸ごと貼り付けという感じでいいんですよね?

 では、下記のコード試してみてください。

 Sheets("コピー元シート名").select
 Rows.Select
 Selection.Copy
 Sheets("貼り付けるシート名").Select
 Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone,  SkipBlanks:=True

 シート名はそれぞれ変更してください。
 コピー元を選択して実行するなら Sheets("コピー元シート名").selectは省略してもいいです。

 これを実行するとどうなりますか?
(2Win) 2017/03/02(木) 11:34

>コピー元もコピー先も行列の構成は同じなので、特にセルは指定せず
>全シート選択してコピーしています。

手動で、

シート全体のセルをコピーして
形式を選択して貼付 数式のみ 空白無視

と操作して希望の状態になります?

マクロは、ただエクセルを遠隔操作するだけなので、
その手動の操作で出来なければ、
そのマクロを使っても希望の動作になりません。

原本(セルの書式設定&数式&グループ化を作り込んでおく)をシートごとコピーして、
それに値を転記してはいかがでしょうか?

まずは、作業手順をどうするか再考してみてはいかがでしょうか?

(まっつわん) 2017/03/02(木) 11:50


>2Win様

色々とありがとうございます。
しかし、やはりグループ化は反映されません。。不思議です。。

>まっつわん様
手動で希望の状態になります。

少し時間はかかりますが、最初に記載した
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone '最初に書式コピー

 Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
 SkipBlanks:=True, Transpose:=False   ’その後数式をコピー

この式ですと希望の状態になるので、これでやります。
ありがとうございました!
(zozo) 2017/03/02(木) 15:07


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.