
No.6
- 回答日時:
また失礼します。
私の回答は古いやつなので、ずいぶん単純な書式ですが、マクロを勉強する方法はバージョンが違っても同じですので。
まず、「ツール」→「マクロ」→「マクロの記録」で新しいマクロを何か作ります。
それで何か作業をして、「ツール」→「マクロ」→「記録終了」で、取りあえず何らかのマクロが出来ます。
これで「ツール」→「マクロ」→「VisualBasicEditor」をクリックすると、記録されたマクロの内容が見れます。
これで、どの作業がどのコマンドになってるかを見れます。
あとは、その内容を改変するなり、ショートカットキーにマクロを割り当てるなりして、作業用に修正していきます。
基本的な、for 文、while 文、if 文、select case 文など、ループとか条件分岐などと言われる物はテキストやヘルプなどで見て、どういう条件でどんな風に繰り返す、あるいは分岐するのか覚えます。
こういう具合に、必要に応じてやっていくと結構使えるような物ができるようになります。
ポイントは
●マクロで全てやってしまわない事。
例えば選択範囲削除をマクロに登録してショートカットキーなどを割り当てて・・・というように簡単な物を作り、道具の一つみたいな使い方をする事。
●あまりマクロに頼らないで、エクセルその物の機能を活用する事。
但し、いろんな表計算ソフトを使う可能性がある場合は、共通する機能に限定して使い、エクセルのオリジナル機能を使わない方が便利です。
高機能なマクロほどトラぶった時は厄介です。
マクロでやる時は必ず、データをコピーしてコピーの方でテストを行う、もしくは、元のデータは必ずバックアップに残しておく、などの方法を取ります。
マクロでは「元に戻す」が出来ませんので、データを損傷するとパーになるので、これだけは守りましょう。
myeyesonlyさん詳しくご説明していただき有難うございます。本当に皆さんは頭が良いのですね。うらやましいです。大変参考になりました。有難うございました。
No.5
- 回答日時:
こんばんは。
>お勧めの本はありますか?
私の場合は、以下の本で独学で勉強しました。
私は、プログラミングをやった経験などありませんし、その本に出会うまでには、2度ほど挫折しました。中でも、FOMの教本は最悪でしたし、今振り返っても内容がおかしいなって思います。
コツは、これらの本の勉強をあまり熱心にしないことですね。(^^;
しかし、途中で投げ出さないことです。分からないことは分からないままでよいので、飛ばしてもよいから、最後まで読みきることと、面白いなって思ったことは、ExcelのVBE に入力してみることです。学校の勉強とは違うので、細かいことは覚えなくてよいです。だいたい、3冊で3ヶ月で終わります。半年ぐらい経てば、もう、ここの掲示板で一般的に聞くレベルは超えてしまいます。
後は、分からないところだけをもう一度おさらいするか、自分で作っていて何か分からないことがあったら、巻末の索引から辞書代わりに使えばよいです。内容は、初級から上級まで書かれていますし、巻末も充実しています。
教本で分からなくなったら、すぐに掲示板で聞いている人がいますが、その人は、最後まで行くのに疲れてしまいます。分からなければ、次の章に移ってよいと思います。
それでも、プログラミングの専門学校に行くよりも充実しています。専門学校に行けば、この内容ですと、20万円ぐらいはすると思います。
かんたんプログラミングExcel2003 大村あつし著 技術評論社
(順序は、基礎編を必ずしも先にする必要はありません。関数編からでもよいですが、応用編は、ちょっと難しいです。)
http://www.amazon.co.jp/exec/obidos/ASIN/4774119 …
http://www.amazon.co.jp/exec/obidos/ASIN/4774120 …
http://www.amazon.co.jp/exec/obidos/ASIN/4774120 …
あまり先を見て、すごい完成品を予想したりすると、現実との落差が大きいので、当面の問題しか考えないことですね。私の勉強の仕方ですが、前の自分と今日の自分を比較するだけでよいと思います。
Wendy02さん早速にご回答いただき有難うございます。本の推薦から勉強の方法まで現実感あふれる体験談本当に役に立ちます。早速梅田の紀伊国屋へ行って買ってこようと思います。有難うございました。お礼に炉端で一杯でもと申しあげたいところです。
No.4
- 回答日時:
こんばんは。
>マクロを使えば一発で削除できるかな?と思っていましたがやっぱりですね。
うーん、こういわれると、挑戦せざるを得ないですね(^^;Y
#1 さんの方法もやってみましたが、マクロでは、画面の表示をとめられる分だけ速いようです。
#3のimogasiさん同様に、実際は、=IF(MOD(ROW(),2)=1,1,2) で、値コピーして、[並べ替え]で、2000行のところの境目を見つけ、その下のデータを削除するほうが速いのですが、マクロでは、そこまでテクニックを使わなくても良いような気がします。
Sub DeleteEveryTwoRows()
'ユーザーオプション
Const OPT = 0 '1 か 0を入れる 1が奇数行/ 0 は偶数行を[削除]
If OPT > 1 Or OPT < 0 Then Exit Sub
Application.ScreenUpdating = False
With Range("IV1:IV4000") 'ダミーの列
.Formula = "=IF(MOD(Row(),2)= " & OPT & ",ROW(),"""")"
.Value = .Value
.SpecialCells(xlCellTypeConstants, xlNumbers).Select
End With
Selection.EntireRow.Delete
Range("A1").Select
Application.ScreenUpdating = True
End Sub
WENDY02さんと言いimogasiさんと言いこれはもうプロ中のプロですね。
プロの横で素人が目をパチクリと言った感じですが、こうなれば頭の悪い私もWENDY02さんに刺激されて挑戦してみたいと思います。今日からマクロを独学でマスターしてみたいと思います。お勧めの本はありますか?しかし皆さん本当に有難うございました。皆様の回答を頂いて何か不可能なことは無いのだ!と言う勇気までいただけて励みになりました。
No.3
- 回答日時:
(1)私のおすすめは、ソート法
空き列に =ISEVEN(ROW()) といれて式を下方向に複写する。
偶数行がTRUEとなる。
コピーし、値を選択して張り付けー値で、各セルの式を消す。
その空き列でソート
FALSEかTRUEのグループでまとまるからグループの適当な方を範囲指定してデータ削除。
(2)VBA
Sub test01()
d = Range("A65536").End(xlUp).Row
For i = d To 1 Step -1
If i Mod 2 = 1 Then
Rows(i).EntireRow.Delete
End If
Next
End Sub
上例では、奇数行を削除してます。本番では、偶数行なら
If i Mod 2 = 0 Then
に修正してください。
下の行から削除していくのがコツです。
(3)フィルタで抜き出し(既回答)
ーー
関数だけでは、絶対に行削除はできませんから、考えないように。
関数はセルの値だけの世界のもので、表の仕組みなどは触れません。
世の中には頭の良い方が居るものだなあと感心しながら、うらやましく思いながら一行一行見ていましたが、もう私の頭ではフーフーです。
imogasiさんはどのようにしてこんな勉強をされたのでしょうか?
No.2
- 回答日時:
こんにちは。
Excel2000で試しましたが、もっと上のバージョンでもできると思います。
一度、シートを複製して試すといいでしょう。
for 文で逆にカウントしてるのは、上から削除すると、下の行番号がずれてくるためです。
Sub Macro1()
For i = 4000 To 1 Step -1
j = i / 2
If j = Int(j) Then
'この設定は偶数行削除です。
'奇数行削除の場合は、j<>int(j) にします。
Rows(i).Delete
End If
Next i
End Sub
マクロを使えば一発で削除できるかな?と思っていましたがやっぱりですね。しかしmyeyesonlyさんのようなレベルの高い方でないと難しいですね。早速試してみたいと思います。有難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/03/25 17:03
- Visual Basic(VBA) Excelのマクロコードについて教えてください 1 2022/03/27 12:02
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/01/25 11:42
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/07/13 12:31
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Excel(エクセル) Excelの複数置換はSUBSTITUTEを重ねるしかない? 9 2022/05/08 11:25
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/04 17:58
- Excel(エクセル) Excel 指定した固有番号で、複数の行を削除する方法は? 2 2022/03/30 15:18
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/11 12:55
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
今の日本に期待することはなんですか?
目まぐるしく、日本も世界も状況が変わる中、あなたが今の日本に期待することはなんですか?
-
AIツールの活用方法を教えて
みなさんは普段どのような場面でAIツール(ChatGPTなど)を活用していますか?
-
思い出すきっかけは 音楽?におい?景色?
記憶をふと思い出すきっかけは 音楽、におい、景色 どれですか?
-
エクセルで1つおきに列を削除したい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
Excel・Word リサーチ機能を無...
-
Excel マクロでShearePoint先の...
-
Excel_マクロ_現在開いているシ...
-
Excel マクロ VBA プロシー...
-
ExcelのVBA。public変数の値が...
-
メッセージボックスのOKボタ...
-
エクセルに張り付けた写真のフ...
-
TERA TERMを隠す方法
-
エクセルで縦に並んだデータを...
-
一つのTeratermのマクロで複数...
-
ExcelVBAでPDFを閉じるソース
-
保存先のパスを変数に格納して...
-
エクセルで別のセルにあるふり...
-
コマンドボタンに二回目のマク...
-
Excelで特定の文字のところで自...
-
エクセルVBAでNAVITIMEを使って...
-
オートフィルターとExcelマクロ...
-
エクセル VBA実行中のApplicati...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
Excel・Word リサーチ機能を無...
-
エクセルで特定の列が0表示の場...
-
一つのTeratermのマクロで複数...
-
メッセージボックスのOKボタ...
-
Excel マクロ VBA プロシー...
-
Excel マクロでShearePoint先の...
-
エクセルに張り付けた写真のフ...
-
Excel_マクロ_現在開いているシ...
-
ExcelのVBA。public変数の値が...
-
TERA TERMを隠す方法
-
マクロ実行時、ユーザーフォー...
-
ExcelVBAでPDFを閉じるソース
-
Excel VBAからAccessマクロを実...
-
特定文字のある行の前に空白行...
-
エクセルで別のセルにあるふり...
-
【EXCEL VBA】オートシェイプを...
-
エクセルで縦に並んだデータを...
-
マクロで空白セルを詰めて別シ...
-
wordを起動した際に特定のペー...
おすすめ情報