
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
僕は同じルートでVBA始めたので気持ちは少しわかります。
当然のことながらデバッグ環境の違いとかは
慣れるしかないですが、EXCELそのものに便利さを感じるかどうかが
大きいと思うんです。表で関数やピボット、グラフ他、セルの書式だけ
でも、多様な処理が出来るので、それがある程度使えるようになると
同じことを手作業で何度もするのはめんどくさい。
そこが大きなモチベーションになりました。
マクロの記録がどうオブジェクト操作に繋がっているのか
見ても、最初は無駄な構文が多くて読み切れない。
なんだ、マウスで操作しているからSelectしてるけど
これってプログラムなら要らないじゃん、と気づいた
辺りから面白くなりました。
面白味が、習得には一番大切な点だと思います。
健闘をお祈りします。
No.4
- 回答日時:
#2の回答者です。
>vbaのヘルプはF1で出力されるのでしょうか?
ヘルプとは言えないと思いますが、Excel2013以降は、 MSDNを探すようですね。でも、ほとんど満足したことはありません。
他の方はどうしているものやら。
Office 2013ではVBAのヘルプがインストールされない
http://www.relief.jp/itnote/archives/018464.php
CHMファイルからVBAのヘルプを読む
http://www.relief.jp/itnote/archives/001208.php
それなりに工夫はしているものの、これに乗じて、便乗商法もあるようですが、あるサイトでは、ヘルプの値段が約$160とは高すぎます。
No.3
- 回答日時:
他の方がおっしゃるように、エクセルのVBAは、C等他言語や通常のVBやアクセスVBAと比較しても、入門用として敷居は低いはずです。
何といっても結果がシート上ですぐに確認できます。
エクセルVBAは、カット&トライ(やってみてダメで作り直す)でいけるので初心者向きだと思うのですが。
しかし、既に他言語を知っているシステム経験のある方が陥ってしまっている現状を
見た事があります。
1、エクセルの機能を知らないため、全てをVBAで処理しようとしている。
2、エクセルの活用方法を知らないため、現状をそのままマクロにしている。
まあ、よくもここまで長いマクロを書いたなと感心しますが
データが複数のシートやブックに分かれているなど、データベースとしての運用がないまま
云われたままにマクロを組んだりしていました。
プログラム経験者であるからこそ、陥りやすですね。(出来てしまうので)
今一度、エクセルの機能や本当の活用方法を勉強していただいて、仕事の流れを変える事も含めて
VBAを組んでみると、コードも非常に短く、シンプルになります。
シンプルなコードが良い所は、他の人に引き継ぐのかが簡単だからです。
作成したファイルをいつまでも自分が面倒みる事が無い様に、
分かりやすいコメントもしっかりと入れておきましょう。
この回答へのお礼
お礼日時:2017/02/18 19:54
他のプログラミングをある程度出来るから余計にvbaが混乱してるのかもしれません。c言語の仕様は本一冊にほぼ全てまとまってましたし、javaにはSUNが提供する辞書サイトがあり、少しわからない事はすぐ辞書サイトで調べ解決出来た記憶でございます。
No.2
- 回答日時:
>エクセルvbaは始めるにあたり、敷居が高く感じます。
>何故でしょうか、vbaがわかられる方はご解説お願い致します
人の心の中までは分かりませんが、私も一言加えさせていただきます。
VBAの言語の甘さ、ゆらぎは、結果的には、自分で自分の首を締めるようなものでもあります。それでもいいのかなっていうコードは、結構ストレスを溜めます。
私の印象は、Excel VBAって、2つの仲の悪いチームが作り上げた製品のように感じます。
確かに、#1様のおっしゃる通り、Excelという表計算と、Visual Basic という言語があって、それをインターフェイスで繋いで、Excel VBAとなったわけです。その後も、Visual Basic の載せたのは失敗だった、あんなものをユーザーに無料で提供したのは間違いで、やめたほうがよかったなんていう話を聞かされました。
問題点。
Range(Cells(1,1), Cells(,1,3))
としても、Range と Cells の親オブジェクトは一緒ではないから、
With Worksheets("Sheet1")
.Range(.Cells(1,1), .Cells(,1,3))
End With
で繋げなくてはいけないのです。
もともとは、R1C1 方式だから、Cells(1,1) で共有性はありましたが、Rangeオブジェクトが加わってくるのです。こちらが、A1方式です。
Window とWorkbook, Sheet と Worksheet 、Cells と Range など、対立的で、VBA専門の回答者の答えをみていても、常に揺らいでいます。(本当は、ある程度の使い分けが決まっています。)
VBAのヘルプ(2013以降はありません)は、Microsoft側の意向で、使ってほしくないものは、ヘルプを提供しないことになっています。Ver.5 ダイアログシートと、Ver.4 のマクロ関数は、探しても出てきません。ダイアログシートは、フォームコントロールの一部です。最近では、フォームコントロールのほうが圧倒的使うようになったと思います。
それと、VBAを使いこなすには、ワークシートの関数などを先に覚えろっていう人がいるけれど、それは本当かな?私は、VBA側からみたら、ワークシートは単なる出力の場所の一つだと思います。
No.1
- 回答日時:
一般的にCの方が難しいと言われているにもかかわらずって意味ですね。
オブジェクトの種類が多いのが原因の一つだと思います。Excel VBAという言語は無くて、あれはVBAという言語でExcelオブジェクトを操作することをいいます。
VBAそのものは、Cと比べて特別難しいものでは無いと思います。仮にExcel Cというものがあっても、やはり難しく感じると思いますよ。
慣れてる分、すこしはマシかもしれませんが。
この回答へのお礼
お礼日時:2017/02/15 22:22
ありがとうございます。vbaが敷居が高いのは、自分のコードでデバッグし、エラー検出、イミテイドウインドウの活用や、言語仕様に慣れないからかもしれません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBA セルの値がおかしいです
-
VBA セル間のリンク修正につい...
-
エクエルのVBAコードについて教...
-
ワードの図形にマクロを登録で...
-
vbsでのwebフォームへの入力制限?
-
ダブルクリックで貼り付けた画...
-
vba textboxへの入力について教...
-
【マクロ】並び替えの範囲が、...
-
【マクロ】開いているブックの...
-
えくせるのVBAコードについて教...
-
Excelのマクロについて教えてく...
-
VBAでセルの書式を変えずに文字...
-
複数のExcelファイルをマージす...
-
Vba Array関数について教えてく...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
VBAの「To」という語句について
-
VBAでFOR NEXT分を Application...
-
VB.net 文字列から日付型へ変更...
-
【ExcelVBA】5万行以上のデー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA セル間のリンク修正につい...
-
VBAでCOPYを繰り返すと、処理が...
-
vba textboxへの入力について教...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】並び替えの範囲が、...
-
Vba Array関数について教えてく...
-
Vba セルの4辺について罫線が有...
-
【マクロ】開いているブックの...
-
複数のExcelファイルをマージす...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【ExcelVBA】5万行以上のデー...
-
vbsでのwebフォームへの入力制限?
-
[VB.net] ボタン(Flat)のEnable...
-
Excelのマクロについて教えてく...
-
【ExcelVBA】値を変更しながら...
-
改行文字「vbCrLf」とは
-
算術演算子「¥」の意味について
-
VBAでセルの書式を変えずに文字...
-
VBAの「To」という語句について
-
VB.net 文字列から日付型へ変更...
おすすめ情報