- 締切済み
vba
エクセルのVBA(マクロ)について、 vbaのコードに、エクセルの関数(sum、leftなど)は、そのまま(書いて)使えるのでしょうか? それとも、その機能(動作)するようなコードを書く必要があるのでしょうか? よろしくお願いします。 エクセル2007以上
- Repla0034
- お礼率10% (6/60)
- Excel(エクセル)
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- keithin
- ベストアンサー率66% (5278/7940)
そのままじゃダメですね。 たとえば sub macro1() msgbox application.sum(range("A:A")) end sub みたいにして利用できます。 このようにエクセルの普段ワークシートに書くように、全く同じには使えません。上述サンプルのように、それなりに書き振りは決まっています。 具体的にどの関数が使えるかは、VBA画面で「オブジェクトブラウザ」を使い、WorksheetFunctionクラスの配下にある関数が利用できます。 また、この一覧をしっかり眺めてみると、たとえばleft関数とかはこの中には含まれていないことが分かります。 同じような用途で、VBA独自に関数が用意されているためです。 同じようにleft関数などをオブジェクトブラウザで調べ、?ボタンで関数のヘルプを開いて、具体的にどういう風に使うのか、使用例なども参考にしながら勉強します。
関連するQ&A
- エクセルのマクロ、VBAって?
お世話様です。 エクセルは関数(fx)で計算等は出来るのですが マクロ、VBAとなるとさっぱり判りません? マクロ、VBAとは何ですか? どのような時にマクロ、VBAを使用するのでしょうか? 参考URLがあれば教えてください。 以上、お願いします。
- ベストアンサー
- オフィス系ソフト
- VBAについて
よくわかっていないので、質問がおかしくてすいません。 VBAで作成したマクロ?をEXCELで動かそうとしています。 その際、EXCELのバージョンが異なったらそのマクロは動作しないのでしょうか?
- ベストアンサー
- Visual Basic
- エクセルVBAでタイマーコントロールは使えますか
エクセルVBAでタイマーコントロールは使えますか。 エクセルVBAで、ある時刻になったらマクロを実行させたいと思っています。 無限ループの中にTIME関数で時刻を呼び出し、それをIF文で判定して、 一定時刻にマクロを実行させるものは作りましたが、CPU負荷が高く、24時間 連続で動作させることに不安を感じています。 この他に、VBのタイマーコントロールのような機能を持つオブジェクトや 便利機能等があったら教えていただけませんか。 (一応、VBで時刻管理をするプログラムを作ってそこからエクセルVBAを呼 び出す方法やタスクスケジューラでエクセルVBAを呼び出す方法、ATコマンド 等も考えていますが、可能ならエクセルVBAで閉じて処理をしたい)。 尚、私はWindowsMe+エクセル2000でVBAを作成しています。 実際にVBAを動かすのは、WinsowNT4.0サーバー+エクセル2000を予定してい ます。
- ベストアンサー
- オフィス系ソフト
- エクセルVBA
エクセルVBAのコードについて質問です。エクセル初心者です。 Windows10で32bit版のエクセル2010を使っています。 1.エクセルのマクロは32bit版でも64bit版にも対応できるようコードを組んでいるのですが、 32bitで動いているのか64bitで動いているのかどのように確かめたらよいでしょうか? あるマクロの途中に #If VBA7 And win64 Then MsgBox ” 64bit ” #Else またはIf VBA7 And win32 MsgBox ”32bit” #End If を組み込むと、If分の終わりには If分の最後に#EndIfが必要です、と表示されて(EndIfを書いているのに) エラーになります。 2.エクセルマクロをIEと連携させて使っています。 IEを操作させている途中でエクセルのメッセージBoxを最前面表示させるには どうしたらよいでしょうか? IEで特定の操作をしたら、エクセルが最前面に出て、OKボタン付きのメッセージBoxが表示され、OKボタンを押すとIEを操作する という動作をコードに書いています。 コードを書いた直後は、IE上での特定の操作のあとメッセージBoxが適切に最前面表示されますが、 一度保存し閉じてファイルを開き直しマクロを実行すると、メッセージBoxは最前面に出てくれません。 検討したコードは 1. SetForegroundWindow 2.VBA AppActivate. Microsoft Excel. Capture 3.AppActivate Microsoft です。いずれのコードを書いた場合も、保存まではうまくメッセージBoxに回答できるが 保存しファイルを開き直してマクロを実行するとメッセージBoxはIEの後ろに隠れたままであり、エクセルを選択しないと最前面表示されません。 しかし一応最前面表示されることもあることから、マクロを一度実行するごとにエクセル内のデータが変わる可能性も考えられす。
- 締切済み
- VBAのプログラムとシートでの計算の速度
現在、エクセルVBAでマクロを組んでいます。 マクロで算出した値を、セルを指定して、シートに代入しています。シートの代入する理由は、途中の計算結果の確認とエクセル関数を利用し、マクロの簡便化を図りたいためです。 代入した値を基にして、エクセル関数を使った結果の値を、他のセルに表示(代入)していますが、VBAで、その結果の値を、利用しています。 お聞きしたいのは、最初にシートに代入してから、エクセル関数の結果を得られる前に、VBAが、値を取得しないかどうか心配です。 素人考えでは、同じエクセル上で動作しているので、エクセル関数の計算終了後に、VBAが動くと思いますが。どうでしょうか?
- ベストアンサー
- その他MS Office製品
- VBAコードの書き換え?置き換え?
いつもお世話になっております。 VBAの超初心者です。 VBEでコードの置き換えは出来るのでしょうか? 例えば、コード内にある”マクロ”という文字列をVBAという変数に置き換えたい場合、現在は一つ一つコピペで置き換えています。エクセルの置換みたいな機能はないのでしょうか? どなたかよろしくお願いいたします。
- ベストアンサー
- Excel(エクセル)
- マクロとVBAの違いは?
最近officeのVBAを勉強してるのですが「マクロ」と「VBA」って何が違うのでしょうか? アクセスはマクロとVBA(VBE)が別れてるけど、 エクセルは「マクロの記録」でVBAコードが取得できますよね。 マクロとVBAは同じ意味なのか、違う意味なのか教えていただけますか?
- ベストアンサー
- オフィス系ソフト
- Excel VBAの SUM関数について質問です。
Excel VBAの SUM関数について質問です。 SUM関数で合計の値を出す場合、 SUM(A1:A5)という関数で合計を出しますが SUM(sheet2.cells(1,1),sheet2.cells(5,1)) と言ったようにCellsで指定はできないのでしょうか? 複数の列にVBAのプログラムで合計の値を出したいのです。 WorksheetFunction.SumではSUM(A1:A5)のように 自動計算にならないと思うので・・・
- ベストアンサー
- その他(プログラミング・開発)
- 関数 VBA マクロ?
おせわになります。 よくエクセルで見積書を作成してるんですが、 単価表の本からそのつど値段を拾って定価、原価、労務費を 入力しています。そのたび大変な時間を費やしてしまいます。 積算のソフトを買えばそれまでなのですが・・・・。 そこで、自分でエクセルを使って 一覧表から品名をクリックすると自動で見積書が 出来るようなものをつくりたいと考えています。 関数を使えばよいのでしょうが、なかなかよい参考書が 見つかりません。 それに、VBA、マクロっていう機能もどんなものなんでしょうか? よい参考書、VBA、マクロについて よろしくお願いします。
- ベストアンサー
- オフィス系ソフト