こんにちは。
半年前から時間を見ながら、ExcelVBAを勉強しているものです。
まだまだ入門者で
何とか下のレベルのコードが書けるようになったのですが、
時間がかかってしまっています。
Sub Sample()
Dim i As Long
Dim lastrow As Long
lastrow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lastrow
If Cells(i, 1).Value Like "Sub Sample*()*" Then
Cells(i, 1).Borders(xlEdgeTop).LineStyle = xlThick
End If
Next
End Sub
いざ、このレベルのコードを書くだけで
途中で「何だっけ?」と忘れてしまうので
OneNoteに自分が作成したサンプルコードのリストを見ながらか
記録マクロでプロパティや引数を探りながらもやっていますが
時間がかかり過ぎています。
ヘルプを見ながら。というのも良く聞くので
実際ヘルプを見て何度かトライしていしていますが
ハードルが高く(特にオンラインのヘルプになってからは)
挫折しております。
実際にVBAを仕事で使ってらっしゃる方はどのように
コードをスラスラと書いてしまうのでしょうか?
リファレンス本などは見ないのでしょうか?
教えて頂いてこれから先の勉強のヒントにさせてください。
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
仕事で使うと用途が限られるため、使う構文も決まって来ます。
同じコードを何度も書くと、自然とそのコードはすらすら書けるようになります。あーかったるい、毎回毎回同じじゃねーかと思うようになったら、引数付きSubとして独立させましょう。構造化プログラミングですよ。
調べものは専らネットです。Googleとお友だち、師匠はoffice Tanakaとmoug、MSDNは教典です。コピペは私もしますが、内容理解は後追いでもいいからすべきです。
コード書き
我々片手間プログラマは、マクロ作成が本業ではありません。コード書いてる間に手作業で終わってしまったら、どうなるでしょう?給料泥棒です。常に時間対効果を気にしつつ作成する必要があります。初心者のうちは自宅でやることを勧めます。私もコーディングは自宅、業務中は動作確認です。
OverTheGalaxy さま。
>コード書いてる間に手作業で終わってし>まったら、どうなるでしょう?
仰る通りです。
何のためにVBAを使うのかと考えたら
同じ操作の繰り返しを軽減して作業時間を
短縮するためなのに、返って時間をかけてしまうのは意味がないことですよね。
同じコードや、似たコードの繰り返しのこと。これから意識して整理したな。って思いました。
自宅でコーディングに慣れておくこと。
他の方のアドバイスにもありましたが
ネット使いもポイントなんですね。
とても参考になりました。
ありがとうございました。
No.2
- 回答日時:
私はコードはスラスラ入力する所とコピペが半々くらいです。
スラスラ書く部分というのは、その処理特有のものです。
コピペというのは、よく使う部分でスペルを正確に覚えていないような所です。
例えば、tomatonikomiさんが例に挙げてくれたコードでいうと
最終行を求める部分
lastrow = Cells(Rows.Count, 1).End(xlUp).Row
これは定型なので、メモ帳に記載してあります。
【最終行取得(して繰り返し)】
Dim i As Long, imax As Long
imax = Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To imax
のように書いてあります。
これは単に最終行を求めるというだけの事ですが、次のステップとして処理でひな形をメモしておくと便利です。複数のブック処理とか色々。
色々なマクロを組んでいくと、何も見ないで入力できる部分と、見直さないと出来ない部分がわかってきますので、記憶できていない部分をテキストにしておくととても便利です。
ちなみにヘルプやリファレンスはほとんど見ません。
この自分のメモ帳とあとは、何をしたいかで「エクセルVBA ○○処理」のようにネット検索します。この方が早いので。
jmuiny さま。
確かに最終行を取得するコードは
何度も使うので、自然に思い出して
いるようです。
ネットも使ってらっしゃるのですね。
一つの方法で絞らずに一番効率的な
方法を生み出せるように
頑張りたいと思います。
ありがとうございました。
No.1
- 回答日時:
> (特にオンラインのヘルプになってからは)
オンラインでは情報量が多すぎて、肝心のものが見つけにくいですよね。
私はオフラインに切り替えて使っています。
(ついでに「常に手前に表示する」もオフにしています。)
オンラインでヘルプ、テンプレート、トレーニング、その他のコンテンツを参照する
https://support.office.com/ja-jp/article/オンラインでヘルプ、テンプレート、トレーニング、その他のコンテンツを参照する-f04c902c-0ac7-4c18-ac88-c6c7a9afcf66
これは 2007 ですが、 2010 でも似たようなものです。
2013 はこちらが絵入りで分かりやすいかな。
オンラインでなくオフラインのヘルプを表示する方法
http://excel-2013.blogspot.jp/2015/06/blog-post_ …
bonaron さま。
なるほど。オフラインの方法もあるのですね。
紹介して頂いたページを参考にさせて頂きます。
ご回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
GTA5オフラインで銀行強盗のや...
-
Discordでオンラインを隠す意味...
-
エルデンリングってゲームあり...
-
プレステプラス未加入でデッド...
-
会社の同僚に、インターネット...
-
彼氏に言われるのですが、イン...
-
ドラクエ10オンラインを今から...
-
discordのオンラインからオフラ...
-
スプラトゥーン3について。 オ...
-
whooという位置情報アプリのオ...
-
CoD BO4 ブラックオプス4はプレ...
-
gta5
-
最高傑作として名高いMHP2Gをや...
-
PayPayでdmmのあっち系にオンラ...
-
PC版モンスターハンターワール...
-
HDDをオフライン/オンラインに...
-
GTA ONLINE を始める際に、プロ...
-
バトルフィールド2042 オンライ...
-
マッチングアプリOmiaiについて
-
ドラゴンズドグマ 働いても貰...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エルデンリングってゲームあり...
-
Discordでオンラインを隠す意味...
-
discordのオンラインからオフラ...
-
GTA5オフラインで銀行強盗のや...
-
PC版モンスターハンターワール...
-
Skyでフレンドのオンライン状況...
-
彼氏に言われるのですが、イン...
-
プレステプラス未加入でデッド...
-
switchのあつ森で、他人の島に...
-
whooという位置情報アプリのオ...
-
CoD BO4 ブラックオプス4はプレ...
-
PayPayでdmmのあっち系にオンラ...
-
ドラクエ10オンラインを今から...
-
あつ森って村の改造やチートと...
-
荒野行動はプレイせずにログイ...
-
Office2007でPDF保存時の「オン...
-
会社の同僚に、インターネット...
-
スプラトゥーン3について。 オ...
-
Switchで遊べるMMO RPGゲームを...
-
ps4のオンラインで8年ほど前に...
おすすめ情報