[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『数式だけコピーしたい』(たんぽぽ)
数式だけA1セルからA2セルにコピーするマクロを教えて下さい。 数式だけのコピーを、マクロで記録すると
Range("A1").Select Selection.Copy Range("A2").Select Selection.PasteSpecial Paste:=xlFormulas, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False
となりますが、 例えば、値のコピーなら Range("A2").value = Range("A1").value とかけるので、 数式のコピーももっと簡潔になるのではと思っています。
なお、普通のコピーと同様、式の中で$がついてないものは、 参照先がずれるようにしたいです。
Range("A2").FormulaR1C1 = Range("A1").FormulaR1C1 (みやほりん)(-_∂)b
オートフィルではだめ? Range("A1").AutoFill Range("A1:A2") (ROUGE)
(みやほりん)さん、できました〜〜〜 ありがとうございます。 FormulaR1C1で数式なのですね!
(ROUGE)さん ありがとうございます。 AutoFill と言うものが有るのを知りませんでしたので勉強になりました。 でもこちらだと書式もコピーされてしまうようです。
すみません。あともう一つ 書式のみ のコピーも知りたいのですが。
(たんぽぽ)
マクロの記録で確認できますが、PasteSpecial でできます。 (ROUGE)
(ROUGE)さん、すみません。最初の質問からの流れで 詳細を記載するのを省略してしまいました。 マクロの記録では、 Range("A1").Select Selection.Copy Range("A2").Select Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False と記録できますが、 値のコピーが、 Range("A2").value = Range("A1").value 数式のコピーが Range("A2").FormulaR1C1 = Range("A1").FormulaR1C1 と、簡単にできるので、 書式のコピーも このように一行で書けないか知りたかったのです。 Rangeのプロパティを見てもそれらしきものはみつからなく、 書式のコピーは無理なのでしょうか。
(たんぽぽ)
= はコピーではありません。代入しているだけです。 (seiya)
>FormulaR1C1で数式なのですね! 誤解があるといけないので、A1形式での数式はFormulaプロパティです。 Range("A2").Formula = Range("A1").Formula こちらと結果を比べてくださぁい。 書式はプロパティがたくさんあって、一つ一つやっつけるのはタイヘン面倒臭い。 この場合はAutoFillのほうが簡単かも。 Range("A1").AutoFill Destination:=Range("A1:A2"), Type:=xlFillFormats 私自身はコピーして内容だけクリアしちゃえっ!っていうのが多い。 Range("A1").Copy Destination:=Range("A2") Range("A2").ClearContents (みやほりん)(-_∂)b
(seiya)さんコメントありがとうございます。 コピーと言う言葉は不適切だったですね。 値や数式のように 書式も A1の書式をA2の書式に代入できるものがないかを知りたいです。
(たんぽぽ)
(みやほりん)さんありがとうございます。 数式自体は、Formula で それをそのままいれると、番号などがずれないのですね。 ありがとうございます。 書式はやはりプロパティがたくさんあって、だめなのですね。 いろいろ案を提供してくださってありがとうございました。 一つ質問ですが、AutoFill は コピー元とつながってないと使用できないですよね?
(たんぽぽ)
たんぽぽさん こんな事も出来ますよ
Dim txt as string txt = Range("a1").formula range("c1:c100").formula=txt (seiya)
(seiya)さんありがとうございます。 txtを介して、設定すると、番号がずれていくのですね! 知らなかったです!勉強になりました。
(みやほりん)さんの、そのままコピーして値を消すというのも大変参考になりました。 PasteSpecial を使うと、マクロの処理中にそのセルに選択が移動してしまうのが いやだったのですが、コピーして値を消すやり方だと大丈夫ですね。 ありがとうございました。
(たんぽぽ)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.