初めての店舗開業を成功させよう>>

本日エクセルVBAエキスパートのスタンダードを取得いたしました。

仕事で半年ほどVBAをチョコチョコ使う機会があったので、
最初のうちはWEBで調べてコードを切り張りして
簡単なツールを作っておりました。

それで9月のはじめに折角だし資格を取ろうと思い
現在に至っております。

転職を考えており、もう少しプログラムを勉強しようと思っています。
次はVB.NETかC#をと考えているんですが、
どちらがいいでしょうか。
個人的な目標としてはWINDOWSのPC上でGUIで動く
ヤフオクの出品ツールが作れるぐらいを考えています。

それでご相談なのですが、VBとVB.NETはかなり違うとのことですが
VBAを学んでいるとC#に比べVB.NETは多少は習得し易いでしょうか。

VBAが習得の上で何のアドバンテージにもならないのであれば、
人気のC#にしようかと思っています。

ちなみに今の職場にいる限りVBA以外のプログラムをする機会はありません。

恐れ入りますが回答をお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

こんにちは。



>本日エクセルVBAエキスパートのスタンダードを取得いたしました。
高い受験料を払って、せっかく取得したのに、水をさすようで恐縮なのですが、試験で資格はとれても、システム自体の設計の経験もないようですと、少し弱い気がします。資格としては、前は、スタンダードの上にプロフェショナルという資格もありましたが、廃止されてしまいました。

#2の方が言うとおりで、C#でもなければ、VB.Net でもなく、お勧めは「C/C++」ですね。
ただし、いきなりですと、挫折することも多いと思います。

ある有名な方(インストラクターではない)で、Office のVBAのプログラミングで、月に何百万の稼いでいる人はいても、VBAのみでなく、Officeのプログラミングのベテランさんは、CやJavaの経験者が多いのです。ちなみに、その方は、まったく別な職業でも生活できるはずですが、特に、Excelがお好きなようです。結構、こういう業界には、そういうExcel好きの方も多いようです。

他に、『Excelでお仕事!』の井上さんのように、特別な業務で覚えたものを、プログラミングに投影しているようで、一般の人の学ぶ経路とはまったく違う人もいるようです。むろん、彼のコードの内容は、今では古くなってしまいましたが、他の著名な方たちのように、VBAにどっぷりとハマってしまい、独特のテクニックから抜け出せない人もいます。

VB.Net が良いのか悪いのかというよりも、#1の方の「初心者向け」というのは極論で、オブジェクト指向にはなっています。VB.Net もC#も、その裏の.NET Frameworkがあるわけです。しかし、VB系の悲哀というのか、VBの開発者のC.シモン氏がMSを辞めたこともあって、MS側の過去のものに対する扱いは、結構むごいような気がします。開発チームとしては、VB系は現存していますが、C#側のほうが、後発な上に、他のメジャーな言語を参考にしているせいか、テクニック的にも機能的にも上になってしまっていると思います。

>VBAを学んでいるとC#に比べVB.NETは多少は習得し易いでしょうか。
VBAを習っていても、VB.Net ということですと、個人的には、どうかなって思います。
旧Visual Basicからというならば、習得しやすいとは言えます。

しかしVB.Net は、VBAというよりか、旧Visual Basicと大幅に違う所がありますね。旧Visual Basicを使っていた方なら、入りやすい部分も多いのですが、思わぬところで、その違いに戸惑ってしまいます。
    • good
    • 0

転職先はプログラマですか?ならばCがいいと思います。

普通の企業でちょっと便利な処理を思ってる程度ならVBAで十分です。どこでもエクセルはありますから。しかしマクロ屋になってもたかが知れてます。現職でも本来業務の効率アップのためにVBAをしてる筈です。転職先も本来業務は何をするのか考えて決めるべきです。

最新版エクセルはアプリケーション用にJava scriptを用意してるそうですね。詳細は知りませんが、そっちから攻める方法もあるでしょう。
    • good
    • 0

> VBAが習得の上で何のアドバンテージにもならないのであれば、



VBAでクラスを使ったことありますか?UI制御は?
無いようであれば、『プログラミング脳が多少身に付いている』程度に考えておいた方がいいでしょう。


1から作るのであれば、是非ともC#を学んでいただき、正しいオブジェクト指向プログラミングを
してもらいたいですね。
(VB.NETは初心者向けなので、一部気にしなくてもできてしまう部分があるので)

C#のしきいが高いようなら、VB.NETでもいいでしょう。
VBAで培った命令群も多少使えます。Left()、Mid()とか。
(C#でも設定次第で使えますし、個人的にはいくつかの理由であまりおすすめしたくありませんが)
http://msdn.microsoft.com/ja-jp/library/microsof …(v=vs.110).aspx
http://msdn.microsoft.com/ja-jp/library/32s6akha(v=vs.120).aspx
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QVBとVBAの違い

お世話になります。

現在、ExcelVBAで機械設計の計算をさせようと思い勉強しているのですが、VBとVBAの違い(VBと比較したとき、VBAできること、できない事)の境目?がいまいち判りません。
まだまだ勉強中で困惑しております。このままExcelVBAを勉強していく物か、VBについて勉強していくか迷っています。このままExcelVBAを勉強してExcelVBAを理解すれば判断できるかと思うのですが、畑違いの勉強になってしまわないかと心配です。

やりたいことは、各種計算の簡略化です。
現在は、関数電卓で行っていますが、これをパラメータを入力すると計算結果が出る。このような物を作りたいと思っています。

長くなってしまったのでまとめると、
1、VBAとVBの違い
2、ExcelVBAで設計計算が可能か
あと、
プログラムにより計算させるときに、最適なプログラム(JavaとかPHPとかHTML等など・・・)お勧めのプログラムがありましたらアドバイス頂けたらと思います。

Aベストアンサー

1. VBAとVBの違い

VBは単体で動作するアプリケーションが作れますが、VBAはOfficeが必要です。
また、VBAはOfficeの環境が使えるので、Excel等を使った入出力の機能が既にできていますが、VBではある程度自分で作る必要があります。また、費用的な面でVBは購入しないと使えませんが、VBAはOfficeがあれば使えますので、既にExcelなどを導入されているならば、追加の費用が必要ありません。
もし、複数の人間で作ったプログラムを利用され、かつその中にOfficeを持っていない人が含まれるのであればVBAではできませんので、VBが必要です。

2. ExcelVBAで設計計算が可能か

可能です。また、多分VBAを使わなくてもExcelの関数でもある程度のことが可能だと思われます。お持ちの関数電卓の桁数にもよりますが、相当な高精度が必要でない限り大丈夫です。

文面からすると、プログラミング未経験のようですが、やりたいことが明確なので、Excelをお持ちであればVBAで始めてみてはいかがでしょうか。他の言語(Java, C, PHP...)でも可能でしょうが、中には環境を用意しなくてはならなかったり、本質である計算以外に気にしなくてはならないことが多く、初心者にはとっつきづらいのではないかと考えます。

VBAからVBへの移行、VBからVBAへの移行はどちらも可能ですし、VBAからVBへの移行は多少時間がかかるかもしれませんが、VBよりVBAから始める方が楽なので、どちらに優越があるとは一概に言えないと思います。一人でちょっと使う程度や勉強用なら、ExcelVBAをお勧めします。
しばらくすると、ExcelVBAの限界を感じるようになると思うので、そこからVBに移行するというのでも悪くないと思います。

1. VBAとVBの違い

VBは単体で動作するアプリケーションが作れますが、VBAはOfficeが必要です。
また、VBAはOfficeの環境が使えるので、Excel等を使った入出力の機能が既にできていますが、VBではある程度自分で作る必要があります。また、費用的な面でVBは購入しないと使えませんが、VBAはOfficeがあれば使えますので、既にExcelなどを導入されているならば、追加の費用が必要ありません。
もし、複数の人間で作ったプログラムを利用され、かつその中にOfficeを持っていない人が含まれるのであればVBAではで...続きを読む

QDoEvents関数って何?

こんにちは。

VBAやプログラミングに詳しい皆様に
教えていただきたい質問があります。

cells(1,1)からcells(5000,1)までの値を消去するときに
処理の進行状況を表示するためにuserform上にプログレスバーを表示したいと思います。

そこで下記のようなコードを入力しました。

userform1.show
for i =1 to 5000
cells(i,1)=""
userform1.progressbar1.value=i/5000*100
next i
unload userform1

しかしこれだとuserformの背景が真っ白になってしまい
ラベルの文字も消えてしまいます。
そこで「EXCEL VBA パーフェクトマスター」という本を見たら

for i =1 to 5000
cells(i,1)=""
userform1.progressbar1.value=i/5000*100
DoEvents
next i
unload userform1
と入力すれば解決することがわかりました。

しかし「DoEvents」についてあまり詳しく書いていなかったのでDoEvents関数をヘルプで見ると、
「発生したイベントがオペレーティング システムによって処理されるように、プログラムで占有していた制御をオペレーティング システムに渡すフロー制御関数です。」

と書いてあるのですが正直、書いてあることがよくわかりません。

どなたかDoEvents関数について、
もう少しわかりやすく教えていただけませんか。
それから、最初に書いたコードで実行すると
ユーザーフォームの背景が真っ白になってしまう原因も
教えていただけませんか?

よろしくお願いいたします。

こんにちは。

VBAやプログラミングに詳しい皆様に
教えていただきたい質問があります。

cells(1,1)からcells(5000,1)までの値を消去するときに
処理の進行状況を表示するためにuserform上にプログレスバーを表示したいと思います。

そこで下記のようなコードを入力しました。

userform1.show
for i =1 to 5000
cells(i,1)=""
userform1.progressbar1.value=i/5000*100
next i
unload userform1

しかしこれだとuserformの背景が真っ白になってしまい
ラベルの文字も消えてしまいます。
そ...続きを読む

Aベストアンサー

簡単に言うと、
OS に制御を渡すってことです。(ヘルプそのまんま)
時間が掛かるループ処理などの場合、ループが終わるまで制御は独占されてしまいます。
ですのでループ中は OS や Excel そのものにも再描画をさせる暇さえ与えません。
途中に DoEvents を入れると制御が OS に渡るので、OS は溜まっていた処理をそこで行うことができます。
結果、フォームの再描画などが行われることになります。

注意点ですが、
Private Sub CommandButton1_Click()
  Dim i As Long

  For i = 1 To 50000
    DoEvents
    Cells(i,1) = ""
  Next i
End Sub

Private Sub CommandButton2_Click()
  MsgBox "hoge"
End Sub

っていうフォームのコードがあった場合、
DoEvents を入れることによって、ループ中にユーザーがCommandButton2 を押すことによって CommandButton2 のクリック イベントも動いちゃいます。
CommandButton1 のクリック イベントではループの前に
CommandButton1.Enabled = False
CommandButton2.Enabled = False
を書いてフォーム上の CommandButton を無効にしておき、ループが終わったら
CommandButton1.Enabled = True
CommandButton2.Enabled = True
と書いて CommandButton を有効に戻してください。

これを工夫すれば、CommandButton2 で CommandButton1 のループを途中キャンセルする処理もすることができます。

Private Canceled As Boolean

Private Sub CommandButton1_Click()

  CommandButton2.Enabled = False

  Dim i As Long
  For i = 1 To 50000
    DoEvents

    If Canceled = True Then
      MsgBox "キャンセルしました"
      Exit Sub
    End If

    Cells(i, 1).Value = ""
  Next i
End Sub

Private CommandButton2_Click()
  Canceled = True
End Sub



コードの行頭にあるスペースは見易さのために全角スペースで作成していますので、これをこのままコピペするとエラーになるかもしれません。
コピペするなら行頭の全角スペースを半角スペースに直してください。

簡単に言うと、
OS に制御を渡すってことです。(ヘルプそのまんま)
時間が掛かるループ処理などの場合、ループが終わるまで制御は独占されてしまいます。
ですのでループ中は OS や Excel そのものにも再描画をさせる暇さえ与えません。
途中に DoEvents を入れると制御が OS に渡るので、OS は溜まっていた処理をそこで行うことができます。
結果、フォームの再描画などが行われることになります。

注意点ですが、
Private Sub CommandButton1_Click()
  Dim i As Long

  For i = 1 To 50000
...続きを読む

Q【Excel VBA】マクロでExcel自体を終了させたい

環境:WindowsXP、Excel2003

マクロでエクセルを終了(ブックを閉じて、アプリケーション自体も終了)させたいのですが、以下のコードではアプリケーションが閉じてくれません。

ThisWorkbook.Close
ExcObj.Quit
Application.Quit

どこか悪いところはありますでしょうか?

よろしくお願いします。

Aベストアンサー

普通に考えれば質問者のコードで上手くいきそうですが
hana-hana3さんの回答にもあるようにThisWorkBook.Closeでコード終了となりますので
Application.QuitをThisWorkBook.Closeの前にもってこないといけません。
Application.Quitはそれがあるプロシージャのコードが全て終わるまで
その実行を保留するちょと特別動作をします。

'-------------------------------------
 Application.Quit
 ThisWorkbook.Close
'-------------------------------------
 
 

QEXCELマクロのEXE化

EXCELで作成したマクロを、EXEの実行形式に変換できるのでしょうか?
フリーのソフトで変換できるとありがたいのですが、何かいいソフトはないでしょうか?

Aベストアンサー

EXEにはならないとおもいますよ。
他の方法をオススメします。

(EXEがいい場合)
(1)VisualStuidioのVB等でコーディングをしてEXEにする。

(EXCELを残したい場合)
(2)他のエクセルファイルのマクロから実行する。

(EXCELが立ち上がったときに起動したい場合)
(3)AUTO_OPENでコーディングする。

などが一般的かと。

QVBとVBAの関係について

Access2002を使用しているのですが、
VBとVBAはどう違うのでしょうか。

・混在可能なのでしょうか。
・VBはVBAを含んでいるのでしょうか。

ご回答よろしくお願いします。

Aベストアンサー

VBA=VisualBasic for Applications。
VB=Microsoft Visual Basic。

前者は、アクセスやエクセルを操作するための機能の一種。
後者は、純然たるプログラミング言語でC言語等の仲間。

エクセルなんかでは、否定形的な処理を一連の手続きとし記述するマクロ言語が登場。
で、マクロ言語の拡充は、マクロ言語とVBの接近という状況を持って極値に。
だが、幾ら、同様の文法を採用しても、VBAはあくまでもマクロ言語の系譜。
これに対し、VBは、BASIC言語の最新版でありあくまでもプログラミング言語の系譜。
両者は、似て非なるものと言えます。
後者で開発したソフトは、は、アクセスやエクセルがインストールされていないPCでも動作。
ですから、あくまでも後者は開発者のためのプログラミング言語。
ですから、あくめでも前者はアクセスやエクセルのユーザーのためのマクロ言語。
まあ、想定している使用者も違います。

QEXCEL VBAで計算値を四捨五入、切り上げ、切捨てする方法

ネットで探してみたのですが、計算結果を四捨五入して特定のセルを
返すにはどうしたらいいのでしょうか?

Sub hokangosa()

Dim ZPS As Double
Dim ZPOS As Double
Dim DMN As Double
MsgBox (" >>> 補間誤差自動計算 <<< ")
MsgBox (" >>> 初期値入力します <<< ")
ZPS = InputBox(">>> ステップを入力してください<<<")
ZPOS = Sheet1.Cells(22, 4).Value
DMN = ZPOS / ZPS
Sheet1.Cells(23, 6).Value = DMN
End Sub

ここでDMNの値を四捨五入したいです。

またこれとは別に切上げ、切捨ても教えていただけるとありがたいです。

Aベストアンサー

DMN = Application.WorksheetFunction.Round(ZPOS / ZPS, 0)
で、四捨五入
DMN = Application.RoundDown(ZPOS / ZPS, 0)
で切り捨て
DMN = Application.RoundUp(ZPOS / ZPS, 0)
で切り上げです。

引数で、対象桁を変更できます。

QSub ***( ) と Private Sub ***( ) の違い

初歩的な質問で申し訳ありませんが・・・

自分でコードを書いていても、イベントが発生したりした時の処理で、コードのウィンドウで上のドロップダウンリストで選択できる時の処理などは自動的に[Private Sub Command1_Click( )]などと出てくるのでそのまま使っています。自分で別途プロシージャーを作成する時は[Sub ****( )]としています。
ですがその違いを理解しないまま、自分で作成する時は[Private Sub]ではなくて[Sub]を使っています。

Sub ***( ) と Private Sub ***( ) の違いは何なんでしょうか?
どなたか説明頂けませんか?
よろしくお願いします。

Aベストアンサー

「Sub」の部分にカーソルを置いて[F1]を押せばヘルプが起動します。
「指定項目」のところに「Public」と「Private」の説明がありますよ。
省略して「Sub hogehoge()」とした場合は「Public」とみなされます。

Publicは「すべてのモジュールから呼び出せるプロシージャ」ということになります。
Privateとすると「同じモジュールの中からしか呼び出せないプロシージャ」となります。

もしExcelをお持ちでしたらExcelのVBEで標準モジュールを追加し、「Sub Test1()」と「Private Sub Test2()」を作成してみてください。
そしてExcelの[ツール]-[マクロ]-[マクロ(Alt+F8)]でマクロ実行のダイアログを表示させてみるとわかります。
ここには実行できるプロシージャの一覧が表示されますが、Test1は表示されているけれどTest2は表示されません。
Test1はPublicで、Test2はPrivateだからです。

QVBとVB.Netについて

 早速質問します、よろしくお願いします。

 これからソフトの勉強をしようと思いますが、Visual Basic Application
(VBA)、Visual Basic(Ver6.0)、Visual Basic.Netとのそ
れぞれの違いを教えてください。
 またこれから勉強するにはどのソフトを勉強すれば良いですか。
 Visual Basic.Netをマスターすれば、VBA、Visual Basic(Ver6.0)も使えるようになりますか。

 また、C言語とC++との違いも教えてください。友人に聞くとC言語はもう古くて最近は殆ど使う人がいないとも聞きましたが、本当でしょうか。
 勉強しやすい言語はどれですか。windowsはどの言語できてるのですか。
 以上、よろしくお願いします。

Aベストアンサー

VB6,VB.NETに限っていればこれからの主流はVB.NETです。
.NETはまだまだ過渡的な部分が多いのと、本当に使いこなせる技術者が少ないために広まっていないのが現状です。
ですがVB6で出来ることはすべてVB.NETで可能ですが、逆はかなり限定されます。
つまり、VB.NETの方がいろいろ作れるということです。
しかし、その分難易度が高いのも確かです。
VB6はとっつき易いということで、一番最初に学習する人が多いようです。
しかし、VB6のみの知識では限界が多いのです。
開発の現場ではVB6しか知らない技術者がVB.NETに移行しようとして失敗しているのもよく見かけます。
VB.NETをマスターすればVBAやVB6も使えるようになるとは思いますが、それは習得の程度によります。
プログラミングの基本を勉強するならC言語からの方がいいと思います。
ただ、Windowsライクなアプリケーションを作りたいならVB6からでも良いと思います。
ただ、C、VB.NETなら無料で始めることも可能ですが、VB6はソフトが高いです。
(VB.NETも無料で始めるのは初心者には敷居が高いですが・・・)

CとC++の違いはC言語をオブジェクト指向に対応させたのがC++です。
C言語は一時期古い言語として業界でも需要が減ったことがあります。
しかし、今はまた多く使われだしています。
これはJAVAやVB.NETには必須なオブジェクト指向を使いこなせる技術者が少ない、逆にオブジェクト指向である必要がない場合が多いからです。
VBAはVBの簡易版でEXCEL,WORDなどのOfficeを操作するのがメインです。

VB6,VB.NETに限っていればこれからの主流はVB.NETです。
.NETはまだまだ過渡的な部分が多いのと、本当に使いこなせる技術者が少ないために広まっていないのが現状です。
ですがVB6で出来ることはすべてVB.NETで可能ですが、逆はかなり限定されます。
つまり、VB.NETの方がいろいろ作れるということです。
しかし、その分難易度が高いのも確かです。
VB6はとっつき易いということで、一番最初に学習する人が多いようです。
しかし、VB6のみの知識では限界が多いのです。
開発の現場ではVB6しか知らない技術...続きを読む

QVBAとvisual basicの違い

 VBAの入門書をよみ、もう少し勉強したいと考えています。visual basicを勉強すべきなのでしょうか?

Aベストアンサー

こんにちは。再び、Wend02が書きます。

ちょっと気になる発言がありましたので、書いておきます。私の場合、究極的には、VBAを悲観的に考えています。ただ、#8さんとは違います。

>プログラミングをやるならVBAはやってはダメです。変数とか引数とかデータ型とかがあやふやになっちゃいます。

それは、誤解ですね。VBAは、明示的変数型宣言をしなくても通りますが、それを言ったら、VBでも同じではありませんか?あやふやではいけないのだったら、Cのほうがよいですね。VBAでプログラミングを学べないということはありませんね。

>VBで、VBでも.NETはクラス(Class)という概念があるので、.NETではなくてVBから始めてプロシージャとかデータ型などをしっかりと経験した方が、後々ぜったいによろしいとおもいます。

Office VBAでも、Class-Instanceは使います。その程度は、いくら上級文法という名前はついていても、VBAの初級の範囲です。VBAは、そのアプリケーションで仕事をすることであって、プログラミング言語を学ぶとはまったく違う、コーディングには具体的な目的性があります。それが、マクロと呼ばれるものですね。しょせん、VBAで、データ型をきちんと書けない人は、オートメーションを使ったときに、エラーに悩まされるだけです。VBAがどうのというような、内容の良し悪しだとは思えませんね。

Office VBAでも、擬似的ではあるけれど「オブジェクト指向」を活用できます。また、Office VBAでも、中級・上級レベルでは、少なくともADO/DAOとオートメーションはやらざるをえないし、上級にいくと、API, ODBC, COM, IISなどが、Office VBAで出てきますが、そんなに楽なことだとは思いません。Cの知識も必要になってきます。

VBAというと、ほとんどの人は、Excel VBAを指すし、明示的宣言をしなくても、エラー処理しなくても、初歩的なルールさえ守らなくても、スパゲティコードを書いても、ほとんどの人からは、結果だけをみて評価されるので、誰もそのコードのまずさを指摘などしません。掲示板で、そういうコードを親切にも注意すれば、「エラーが出ていないのに、どこが悪い」と激怒して、開き直られますからね。

もしも、VBAが問題なら、そういう背景にあるのではないでしょうかしらね。しかも、Accessを除いて、他のOffice VBAの勉強する方法が、ほとんどありません。まして、上級VBAを学ぶ機会はどんどん減っています。

ほとんどの人は企業内で、ただひたすら、会社のために行うしかありません。企業内で、このまま、Microsoft Officeを使っていくようであり、また、自分の仕事生命がMS-Officeといっしょのつもりだったら、Office VBAを極めればよいのだと思います。別に、他の言語を覚えたところで役立たせる所は、Officeを使っている一般社員としては、ほとんどないはずです。ベタなVBAコードしか書けなくても、Accessのほうが、ずっと需要が高いと思います。

しかし、自分は、その手の才能があると思うなら、いえ、興味があるなら、やはり、言語には手を出しておくべきかなって思います。その選択が、VB系というのは、私は、ちょっと言えませんが、挫折したって良いと思います。その分岐点・出発点を、どこに置くかだけの問題ではないでしょうか?

こんにちは。再び、Wend02が書きます。

ちょっと気になる発言がありましたので、書いておきます。私の場合、究極的には、VBAを悲観的に考えています。ただ、#8さんとは違います。

>プログラミングをやるならVBAはやってはダメです。変数とか引数とかデータ型とかがあやふやになっちゃいます。

それは、誤解ですね。VBAは、明示的変数型宣言をしなくても通りますが、それを言ったら、VBでも同じではありませんか?あやふやではいけないのだったら、Cのほうがよいですね。VBAでプログラミングを学べないと...続きを読む

QEXCELファイルのカレントフォルダを取得するには?

EXCELファイルのカレントフォルダを取得するには?

C:\経理\予算.xls

D:\2005年度\予算.xls

EXCEL97ファイルがあります。

VBAで
  カレントフォルダ名
(C:\経理\,D:\2005年度\)
を取得する事は可能でしょうか?

CURDIRでは上手い方法が見つかりませんでした。

Aベストアンサー

こんばんは。
Excel97 でも、同じですね。以下で試してみてください。

Sub test()
'このブックのパス
a = ThisWorkbook.Path
'アクティブブックのパス
b = ActiveWorkbook.Path
'Excelで設定されたデフォルトパス
c = Application.DefaultFilePath
'カレントディレクトリ
d = CurDir
MsgBox "このブックのパス   : " & a & Chr(13) & _
   "アクティブブックのパス: " & b & Chr(13) & _
   "デフォルトパス    : " & c & Chr(13) & _
   "カレントディレクトリ : " & d & Chr(13)
End Sub


人気Q&Aランキング

おすすめ情報