
マクロ勉強中の初心者です。度々質問させていただいてます。
下記はあるマクロの抜粋なのですが、何をしているのか、何を表しているのかがわかりません。
一応途中までは自分なりに解釈してみたのですが、この部分は解読不能でした。どうかお力をお貸しください。
Dim a As Integer
a = Range("A65536").End(xlUp).Row
ActiveWindow.SmallScroll Down:=-18
Columns("A:A").Select
Range("A" & a).Activate
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-12
No.2ベストアンサー
- 回答日時:
Dim a As Integer
変数「a」を整数型で使用すると宣言。
しかし、これは×です。Integerは、-32768~32767 の範囲しか
扱えませんので、次の行の結果によってはエラーになります。
Integer → Long を使いましょう。
a = Range("A65536").End(xlUp).Row
変数「a」にA列の最終行を入れる
(最終行が32767以上だと、Integerの場合×)
ActiveWindow.SmallScroll Down:=-18
アクティブな画面で18行上にスクロール
マクロ記録した時の残痕でしょう
Columns("A:A").Select
A列を選択
Range("A" & a).Activate
A列の最終列をアクティブに(目的不明)
Application.CutCopyMode = False
直前にコピーや切取り操作をやっていた場合に消しまず
Selection.Copy
選択範囲(この場合A列)をコピー
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
「形式を選択して貼り付け」
値のみ、演算なし、空白無視しない、行列入れ替えない
ActiveWindow.SmallScroll Down:=-12
アクティブな画面で12行上にスクロール(これも残痕かな)
要するに、A列をコピーして値だけを貼り付けなおしているだけですね。
A列の最終行を求めた真意は不明ですが、この後の処理で使っているのかもしれませんね。
丁寧な回答ありがとうございます!
とても勉強になります。
どこで区切るかの一例がわかったので、これからは自力で調べることもできそうです。
本当にありがとうございます!!
No.4
- 回答日時:
ANo3です。
一部間違えてました。Columns("A:A").Select
A列を選択
Range("A" & a).Activate
a=1だったので、つまりはA1セルにアクティブセル移動。
でした。A列は選択状態のママですので、A列全体をコピー、値のみペーストですね。
ただ、切り取りではなくコピーしてますので、やっぱり何も見かけ上の変化はないです。切り取りしない限り、値以外のセルの属性は残ってますから、その上に値のみ貼り付けしても、変化はありません。
やっぱりゴミですね。
ありがとうございます!
確かマクロの記録で作ったものだと記憶しているので、その名残みたいです。
マクロの意味がわからなかったのでとても難しそうに見えたのですが、実際にやっている動作が簡単でびっくりしました。
No.3
- 回答日時:
Dim a As Integer
aが整数型である宣言
a = Range("A65536").End(xlUp).Row
A65536の一番上段行の行番号をaに代入。必ず1なのでa=1とまったく同意。はっきりいって意味不明。
ActiveWindow.SmallScroll Down:=-18
アクティブウィンドウを18行分上にスクロール。
Columns("A:A").Select
A列を選択
Range("A" & a).Activate
a=1だったので、つまりはA1セルにカーソル移動。結局直前のA列選択はまったく意味なし。
Application.CutCopyMode = False
切り取りモードまたはコピーモードを解除。でもまだ切り取りもコピーもしてない状態なのでまったく意味なし。
Selection.Copy
選択セル(A1)をコピー。
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
形式を選択して貼り付けで値のみペースト。でもセルはA1選択状態なのでやっぱり意味なし。
ActiveWindow.SmallScroll Down:=-12
アクティブウィンドウを12行分上にスクロール。
したがって、全部ゴミです。
A1セルをコピーしてA1セルにペースト。
まったく意味のない動作ですww
No.1
- 回答日時:
記録マクロを手直ししたような感じですが、不要なコードが多いですね。
A列をコピーして、”値貼り付け”かと思います。
Columns("A:A").Copy
Columns("A:A").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 動きっぱなしです。止め方とプロシージャの間違いを教えて下さい! 5 2022/08/15 23:08
- Visual Basic(VBA) マクロを短くする 1 2023/01/15 00:11
- Excel(エクセル) エクセル VBAでシートのコピーを作りたい 1 2023/05/18 07:42
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Visual Basic(VBA) Excel VBAの解読について質問があります。 概要は、マクロでチェックボックスにチェックすると日 1 2023/02/10 07:50
- Visual Basic(VBA) excel VBA if文について 3 2022/03/27 17:42
- Excel(エクセル) エクセルマクロで教えてください 2 2022/05/04 09:07
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
値が入っているときだけ計算結...
-
VLOOKUP関数を使用時、検索する...
-
Excel 数値の前の「 ' 」を一括...
-
EXCELで条件付き書式で空白セル...
-
【Excelで「正弦波」のグラフを...
-
2つの数値のうち、数値が小さい...
-
小数点以下を繰り上げたものを...
-
検便についてです。 便は取れた...
-
尿検査前日に自慰行為した時の...
-
ワードのページ番号をもっと下...
-
エクセルのラベルの値(文字列...
-
精子に血が・・・
-
病院側から早く来てくださいと...
-
精液の落とし方を教えてください
-
彼女のことが好きすぎて彼女の...
-
EXCELで式からグラフを描くには?
-
リンク先のファイルを開かなく...
-
テスターで断線を調べる方法教...
-
MIN関数で空白セルを無視したい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
尿検査前日に自慰行為した時の...
-
至急!尿検査前日にオナニーし...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
値が入っているときだけ計算結...
-
リンク先のファイルを開かなく...
-
EXCELで条件付き書式で空白セル...
-
2つの数値のうち、数値が小さい...
-
VLOOKUP関数を使用時、検索する...
-
尿検査の前日は自慰控えたほう...
-
MIN関数で空白セルを無視したい...
-
小数点以下を繰り上げたものを...
-
風俗店へ行く前のご飯
-
エクセルで空白セルを含む列の...
-
Excel 数値の前の「 ' 」を一括...
-
【Excelで「正弦波」のグラフを...
-
納豆食べた後の尿の納豆臭は何故?
-
EXCELで式からグラフを描くには?
-
ある範囲のセルから任意の値を...
おすすめ情報