
エクセル記録マクロの作成の方法
あるネット上でマクロ作成方法では、
ブックのsheet(1)をオートフィルターを利用し、データを抽出した物だけを、シートを追加し張り付けるやり方を、コード上では
Selection.CurrentRegion.Select(1)
Selection.Copy
Sheets.Add
Selection.PasteSpecial Paste:=xlValues(2)
と記入がありました。
私が自動記録をすると、sheet(1)をコピー時は(1)可視セルのコピーを選択し、貼り付けをするときに(2)値のみにしておこなうと、上記のようなコードで自動記録はおこなわれません。
上記のコードを自動記録操作で作成させるのには、どのような操作記録をおこなったか教えてください。
((1)についてはアクティブセルのコピーのようだとは理解しました。なぜか理解はできません。)
No.5ベストアンサー
- 回答日時:
>(2)
確かにそうですね。
Excel2007で確認してみましたが、Paste:=xlValuesで問題なく動くようです。
イミディエイトウインドウで調べてみると、どちらも同じ値がかえされました。
?xlValues
-4163
?xlPasteValues
-4163
回答番号:No.3で、hige_082さんが提示されたコードでは
Paste:=xlValues
と、なっているようですね。
Web検索してみても
Paste:=xlValues
となっているところが結構あります。
下記ページで、【List20123】の絵にも載っています。
セルのコピーと貼り付け
http://www6.plala.or.jp/MilkHouse/begin/contents …
サポート情報に、こんなのがありました。
[XL2000]マクロ記録でPasteSpecialの引数Pasteが正しく記録されない
http://support.microsoft.com/kb/415379/ja
No.4
- 回答日時:
(1)についてはよろしいですね。
(2)について。
オブジェクトブラウザで見てみると判りますが,xlvaluesもxlpastevaluesもExcelVBAの内部的には -4163 という同じ値を持っているので,結果的には正しく作動します。
しかしExcelVBAでは,xlpastvaluesが「型式を選んで貼り付けの値を貼り付け」の命令で定義されている予約語ですが,一方xlvaluesは検索の命令の中で「値を検索」を指定する用に定義されています。リファレンスに従って誰が読んでも誤解しない言葉を選んだ方が,安全は安全ですよね。
#もしかすると。
その回答者さんが単純に「結果オーライ」な方で自分言葉で回答しただけのかも知れませんが,あるいはもしかするとその回答者さんは我々など及びも付かない昔からExcelマクロに慣れ親しんでいた方で,その当時はxlvaluesで良かった時代があったのかも?しれません。今回のこれがそうなのかは私も残念ながら存じ上げませんが,たまにそういう言葉(定数・予約語)があるのは事実です。
No.3
- 回答日時:
マクロの記録開始
[Ctrl] + [*]
[Ctrl] + [C]
[Shift] + [F11]
[Alt]押しながら[E][S][V]順でキーを押し[OK]
マクロの記録終了
Sub Macro1()
'
' Macro1 Macro
' マクロ記録日 : 2010/3/21 ユーザー名 : hige_082
'
Selection.CurrentRegion.Select
Selection.Copy
Sheets.Add
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub
参考まで
ありがとうございました。
私が記録マクロを作成すると下記の
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub
となってしまうのですが、
(1)Operation:=xlNone, SkipBlanks:=False, Transpose:=Falseを表示しないで記録させる方法がないかということが知りたかった。(自動記録作成方法が違っているのか?と感じたこと。)
(2)Selection.Paste:=xlPasteValues,となり Selection.Paste:=xlValues,とはならないことが疑問に思い質問いたしました。
ご存知でしたら、ご教示ください。
No.2
- 回答日時:
操作の手順は
(準備)
オートフィルタは設定しておく
必要なら絞り込んでおく
オートフィルタを設定した表範囲の中のセルをとりあえず1個選んでおく
(記録開始)
Ctrl + Shift + * を押すなどで「アクティブセル領域」を選択する
Ctrl + C などでコピーする
シート名タブを右クリックして挿入などでシートを挿入する
直ちに形式を選んで貼り付けの値にマークしてOKする
記録終了する
以上です。
>上記のようなコードで自動記録はおこなわれません。
どんな具合のマクロで記録できたのでしょうか?
#自分がやったら「こうなってしまいました」というのを手抜きせずご相談に掲示してみると,どこか間違っていたかとか,いやそれで正解ですとか,はっきりしたアドバイスも寄せられますよ。
そもそもまるで違う命令になっていた場合は,記録した操作から違っています。実際に記録マクロを作動させてみたときに,やっぱり意図した結果が得られない場合もそうですね。
手順は合ってたしマクロを動かしたら正常に動くけど,他に色々ごちゃごちゃ記載されているので気になるというお話でしたら。
それはご覧になった掲示板の回答者が気を利かせて,マクロを編集して示しているだけです。例えばpatespecialなどで沢山余計なのが記録されているのを,止めさせる方法はありません。
連絡ありがとうございました。
値を別のシートに記入する場合は、わたくしの記録したプロシージャは
Sub 別のシートに複写()
'
' 別のシートに複写
'
Sheets("Sheet1").Select
Range("D4").Select
Selection.CurrentRegion.Select
Selection.Copy
Sheets.Add
Range("B1").Select
⇒ Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
⇒のSelection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
と自動マクロが記録してしまうことを、疑問に思っていました。
私の「値の貼り付け」という操作は、間違っていないのですね。
Selection.PasteSpecial Paste:=xlPasteValues, 以下をマクロ作成者は抹消していたんですね。
それでも疑問に思っているのは
Paste:=xlPasteValues を Paste:=xlValuesに直している点なのです。
何の違いがあり変更しているかを、ご存知でしたらご教示ください。
No.1
- 回答日時:
オートフィルター抽出セル範囲内のセルを選択
Ctrl+Shift+: とキー操作して抽出セル範囲を選択
Ctrl+C でコピー
シートを追加
Alt+E、S、V、Enter で「形式を選択して貼り付け」の「値」で貼り付け
といったような操作になります。
連絡ありがとうございました。
私が記録マクロを作成すると下記の
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub
となってしまうのですが、
(1)Operation:=xlNone, SkipBlanks:=False, Transpose:=Falseを表示しないで記録させる方法がないかということが知りたかった。(自動記録作成方法が違っているのか?と感じたこと。)
(2)Selection.Paste:=xlPasteValues,となり Selection.Paste:=xlValues,とはならないことが疑問に思い質問いたしました。
ご存知でしたら、ご教示ください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】プリントスクリーンした画像をエクセルに貼付して印刷したい 6 2022/11/30 20:11
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Excel(エクセル) エクセルで最下行にデータを追加するVBA 6 2023/05/09 09:30
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Excel(エクセル) 記録マクロのみでできますか? 7 2022/08/07 20:38
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/04 17:58
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
excelでsin二乗のやり方を教え...
-
検便についてです。 便は取れた...
-
値が入っているときだけ計算結...
-
2つの数値のうち、数値が小さい...
-
Excel 数値の前の「 ' 」を一括...
-
【Excelで「正弦波」のグラフを...
-
VLOOKUP関数を使用時、検索する...
-
尿検査前日に自慰行為した時の...
-
腕を見たら黄色くなってる部分...
-
WORDで複数語句を検索するには
-
病院側から早く来てくださいと...
-
リンク先のファイルを開かなく...
-
彼女のことが好きすぎて彼女の...
-
EXCELで条件付き書式で空白セル...
-
精液の落とし方を教えてください
-
MIN関数で空白セルを無視したい...
-
風俗店へ行く前のご飯
-
小数点以下を繰り上げたものを...
-
エクセルで数式の答えを数値と...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
尿検査前日に自慰行為した時の...
-
至急!尿検査前日にオナニーし...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
値が入っているときだけ計算結...
-
リンク先のファイルを開かなく...
-
EXCELで条件付き書式で空白セル...
-
2つの数値のうち、数値が小さい...
-
VLOOKUP関数を使用時、検索する...
-
尿検査の前日は自慰控えたほう...
-
MIN関数で空白セルを無視したい...
-
小数点以下を繰り上げたものを...
-
風俗店へ行く前のご飯
-
エクセルで空白セルを含む列の...
-
Excel 数値の前の「 ' 」を一括...
-
【Excelで「正弦波」のグラフを...
-
納豆食べた後の尿の納豆臭は何故?
-
EXCELで式からグラフを描くには?
-
ある範囲のセルから任意の値を...
おすすめ情報