今、時間があるのでEXCELのVBAを勉強して資格取得を目指しています。


コンピューター系の文字の羅列にとっつきにくいイメージがあったのですが

試験範囲の勉強は一通り終わりました。

そこで、

データ集計や分析、データ加工などの事務職についたことのある方で

実際にVBAを理解していると、仕事上、役に立ったことはありますか?


VBAを実際に業務で扱ったなど。


業種も教えていただけると、幸いです。

どうぞよろしくお願いします。

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

A 回答 (2件)

役に立っていますよ。

事務ではちょっとした定例の業務というのがあります。
こういうのをVBAで組めばなにかと便利です。

以前の職場で出勤簿を各人毎に各月出力していました。全員で50名近くいた
のですが、職員番号と職名、名前を毎月定型の書式にコピーして印刷していた
んですね。それをVBAで年月だけ入れたら、あとは自動的にコピーして出力
するまでを自動化しました。まあたいしたことはないといえばそうなんですが、
それでも合理化になり感謝されています。もっとも、定型の書式を他の人が無
断でいじくって、無駄な用紙を大量に出したなどということがありましたが ^_^;

ただ、自分自身が使用するのはいいのですが、他の人に使用してもらうために
は、エラー処理などかなり丁寧につくりこむ必要があります。ですからあらゆ
る入力を想定してつくりこむ、必要な項目以外は入力できないようにする等の
対策が必要です。びっくりするような使い方をされて、SOSを求められると
いうのはよくあるんですよ。

あわせて、必ず作業は変更されます。これに対応するためにはソースの保守が
かかせません。そのためには、プログラムはパーツ単位でブロック化する、ソ
ースの中にコメントをいれてこのルーチンは何をするのかを明確にしておく等
を意識的にしてください。

私自身は若いときにCOBOLで業務用のプログラムも数多くつくってきまし
たが、これはVBAに限らず、すべてのプログラム言語にいえることです。

ご活躍を期待していますよ。
    • good
    • 2
この回答へのお礼

詳しいご回答ありがとうございます。
VBAの勉強がんばろうと思います。

お礼日時:2014/09/18 11:11

Excel-VBAの一番いいところは、「手順が固定して、その手順で


処理していることが担保できる」って点です。ですので、総務や
人事で手順が複雑な事務は、VBAでコードを書いて派遣社員に
任せてしまうってことをよくやります。

でも、逆に言えばVBAは、「事務を分かっていて他人に任せる」
ためのツールなんですよね。まあ、自分の仕事のミスをなくすため
に、VBAでコードを書いて自動化する場合もありますが・・・。

要はVBAを知ってることより、事務を知ってることの方が重要、更に
知っていて「間違いやすい所や面倒な所など、改善点を見つける目」
が重要って話で、VBAを知ってるだけでは何もできませんよ。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

VBA+αということですかね。

お礼日時:2014/09/11 16:51

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

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

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

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

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

QVBAでオブジェクト変数にsetしたシートがactiveかどうかを調べるには?

標準モジュールの冒頭でワークシート用のオブジェクト変数を確保し、
あるタイミングで、あるシートをそのオブジェクト変数にSetしています。

で、そのシートに値をセットするときに、そのシートがActiveだった場合だけやりたい処理があるのですが、Setしてあるオブジェクト変数だけを見てそのシートがActiveか否かを判断する方法って、あるのでしょうか。

コード例)
Private oSheetA as Worksheet

Sub SetSheet(sName as String)
  Set oSheetA = worksheets(sName)
End Sub

Sub SetValue(nValue as integer)
  xxxxxx ←ここでoSheetAがActiveならやりたいことがある。
  oSheetA.Cells(nRow, nCol) = cValue
End Sub

具体的には、複数のBookを開いている状態で、Activeシートが何であるかはオペレータの操作次第なので固定化できない状態で、SetValueが呼び出されたとき、oSheetAがActiveだったら、値をセットするセルが見えるようにセルをActivateかスクロールさせたいんです。

標準モジュールの冒頭でワークシート用のオブジェクト変数を確保し、
あるタイミングで、あるシートをそのオブジェクト変数にSetしています。

で、そのシートに値をセットするときに、そのシートがActiveだった場合だけやりたい処理があるのですが、Setしてあるオブジェクト変数だけを見てそのシートがActiveか否かを判断する方法って、あるのでしょうか。

コード例)
Private oSheetA as Worksheet

Sub SetSheet(sName as String)
  Set oSheetA = worksheets(sName)
End Sub

Sub SetValue(nVa...続きを読む

Aベストアンサー

Option Explicit

Private oSheetA As Worksheet

Sub SetSheet(sName As String)
Set oSheetA = Worksheets(sName)
End Sub

Sub SetValue(nValue As Integer)
If oSheetA Is ActiveSheet Then
MsgBox ("hoge")
End If
oSheetA.Cells(1, 1) = nValue
End Sub

Sub Main()
SetSheet ("Sheet1")
SetValue (5)
End Sub

'実行できるようにソースは変更していますが,
'こんな感じでIs演算子で同じオブジェクトか比較してみるってのはどうでしょう?

QExcel-VBAベーシックの資格取得

VBAを以前会社で必要だと思い、再就職に向けて勉強を始めるつもりです。

翔泳社Office2002対応の本を買ったのですが、私のPCは2000でした。
そこで、Office2003バージョンを注文したのですが、対応できないでしょうか?
ちなみに今の2000では、エラーメッセージがでます。

またこの単科コースは業務上どれだけ必要か、判断ができません。
どういう方を対象としているのでしょうか?
簡単なVBAなら、Excel上級で充分なのでしょうか?

また、独学と教室に通うのとどちらが取得が早く済むでしょうか?

まだ資料請求の段階なので、質問ばかりですみませんが、詳しい方がいらっしゃったら、教えてください。

Aベストアンサー

どちらのバージョンでもVBAは同じです。

>ちなみに今の2000では、エラーメッセージがでます。

どのようなエラーが出るのでしょうか?

>また、独学と教室に通うのとどちらが取得が早く済むでしょうか?

余裕があるなら教えてもらう方が良いと思います。

>またこの単科コースは業務上どれだけ必要か、判断ができません。

就職する職場次第でしょう。
スタンダードまでの知識があれば怖いものは無いでしょう。

参考URL:http://www.vbaa.jp/vbae/concept.htm

QExcel: SetステートメントでRangeオブジェクトに名前付きセルを指定したい

Excel VBAです。
RangeオブジェクトにSetステートメントで名前付きセルを指定したのですが、結果、RangeオブジェクトはEmpty値になってしまいます。名前付きではない別のセルでやってみるとうまくいきます。

Dim sSheet as Worksheet
Dim wRange as Range

Worksheets("Sheet1").Select

【失敗する例:名前付きセルを指定】
Set wRange=Range("c_ControlNo")

【うまくいく例:セルA1を指定】
Set wRange=Range("A1")

名前付きセルは指定できないなんてことはない、と思うのですが、どこがおかしいのでしょうか?
アドバイスをお願いします。

Aベストアンサー

Set wRange = Names.Item("c_ControlNo").RefersToRange

と指定します.
必要であれば,Namesプロパティの前にActiveWorkbook等を付加してください.

基本的に名前付きのセルはNameオブジェクトを経由して処理します.

Q大学一年です。IT系の資格などで役に立つもの。

地方国立大学、工学部の情報工学系の学科に通うものです。
現在、大学一年生ですが時間のあるうちに役に立つ資格でも取ろうかなと思っています。
そこで、IT系の企業に技術者として働く場合はどのような資格を取っておいたほうがよいでしょうか?
現時点ではコンピュータ(Windows)の基礎的な使い方は概ね理解しているつもりですが、あまりに専門的すぎるものに関しては勉強にすんなりついていけるか自信はありません。

また、マイクロソフトオフィス検定なるものがあるそうですがあれは取っていたほうがよいでしょうか?

これらのことを考慮したうえでなにか資格等に関してアドバイス等をいただけるとありがたいです。
IT系の資格以外でも役に立ちそうなものがあればぜひ教えてください。

Aベストアンサー

あなたが本気でIT関係の仕事をしたいのならば、たぶん下記のどちらかでしょう。
もちろん自身があれば応用情報技術者試験をとるべきだと思います。
疎の程度の難易度のある資格でないと就職に有利ということはありません。

基本情報技術者試験

応用情報技術者試験

一方、単に就職に有利にというだけの目的ならば、どちらもお勧めはしません。
それよりも本来のあなたの専門学科で良い成績をとるほうが良いと思います。
新卒の採用は即戦力というよりは素質を買うという傾向が代です。即戦力ならば専門学校生でもっとその分野に詳しいものはたくさんいます。たぶん半端な勉強では彼らにはかなわないですよ。

それよりも大学卒の値打ちは、大学で専門を中心に論理的に物事を考える習慣と知識をつけることにあります。
これは専門学校ではあまりやらないことです。その能力をつけておけば会社の仕事の殆どの分野で力を発揮することができます。
もしそこでIT分野に配属になっても、数学や英語などを理解していれば、それに慣れるのは時間の問題です。

今は就職難のため大学生も資格取得が熱心のようですが、この傾向は私は批判的です。その時間があれば専門学科にもっと時間を使いましょう。採用試験でまず書類審査を通るには、成績証明が良いほうが、資格の有無よりも有利だと思いますよ。

ちなみに私は昔情報処理技術者試験の2種と1種をとりました。
プログラミングがある程度できるというところからスタートして1種を取るまで約2年半でした。
あなたが今どの程度のコンピュータースキルであるかにもよるのですが、プログラミングを合格レベルまでもって行くだけでも最低1年はかかるのではないでしょうか。

あなたが本気でIT関係の仕事をしたいのならば、たぶん下記のどちらかでしょう。
もちろん自身があれば応用情報技術者試験をとるべきだと思います。
疎の程度の難易度のある資格でないと就職に有利ということはありません。

基本情報技術者試験

応用情報技術者試験

一方、単に就職に有利にというだけの目的ならば、どちらもお勧めはしません。
それよりも本来のあなたの専門学科で良い成績をとるほうが良いと思います。
新卒の採用は即戦力というよりは素質を買うという傾向が代です。即戦力ならば専門学校生で...続きを読む

QVBAで既に開いている別アプリケーションのオブジェクトを得る

 VBAで別のアプリケーションにアクセスするには、CreateObject関数を使ってアプリケーションのオブジェクトを作るようにすると思います。例えば、ワード文書にアクセスするなら次の構文になると思います。
  Set appWord = CreateObject("Word.Application")
  appWord.Visible = True
 しかしこれだと新しいワード文書を作ったり、既存のワードファイルを開いて扱うことしかできません。GetObject関数を用いても同様のようです。既に別ウィンドウで開いているワード文書があって、そこへアクセスするにはどうしたらよいのでしょうか。
 また、同じアプリで複数のファイルを開いている場合には、どうやって目的のファイルへのオブジェクトを得るのでしょうか。(ファイル名などを参照して判断?)

Aベストアンサー

Internet Explorerで開いているWindowを取得することはできますよ。

そのためには、まず開いているWindowを順番に取得し、それがInternet Explorerならばそれをオブジェクトに代入し、ひとつもIEウィンドウが存在しない場合は新規作成(CreateObject)すればいいのです。
Windowを取得するにはShell.Applicationというのを使います。

Dim ObjIE As Object
Dim ObjShell As Object
Dim ObjWindow As Object
Dim WinExist As Boolean

WinExist = False
Set ObjShell = CreateObject("Shell.Application")
For Each ObjWindow In ObjShell.Windows
If TypeName(ObjWindow.Document) = "HTMLDocument" Then
 WinExist = True
 Set ObjIE = ObjWindow
End If
Next
Set ObjShell = Nothing

If Not WinExist = True Then
Set ObjIE = CreateObject("InternetExplorer.Application")
End If

ObjIE.Navigate "http://nantokakantoka.html"
ObjIE.Visible = True


というような感じです。
Wordの場合はわからなくてすみません。
独学なのでもっといい方法があるかもしれないですが。

Internet Explorerで開いているWindowを取得することはできますよ。

そのためには、まず開いているWindowを順番に取得し、それがInternet Explorerならばそれをオブジェクトに代入し、ひとつもIEウィンドウが存在しない場合は新規作成(CreateObject)すればいいのです。
Windowを取得するにはShell.Applicationというのを使います。

Dim ObjIE As Object
Dim ObjShell As Object
Dim ObjWindow As Object
Dim WinExist As Boolean

WinExist = False
Set ObjShell = CreateObject("Shell.Applicatio...続きを読む

Q役に立つ資格のランキング

主に、パソコンの資格についてお聞きしたいです。

取得して役に立つ・就職に有利・人気
どの項目でも良いのですが、ランキングを載せているサイトがありましたら、お教えいただきたいです。
パソコン以外の資格と混ざっていても構いません。

ようは、「パソコン検定」・「MOS検定」が、どのランクに位置するのが知りたいのです。
パソコン教室で仕事をしているのですが、生徒さんは「MOS検定」をご存じなく、「パソコン検定を取得したい」とおっしゃいます。某パソコン教室の「パソコン検定2級、合格保証!」と謳っているCMの影響だと思うのですが・・・パソコン検定協会主催のパソコン検定ならまだしも、その企業が勝手に作った検定なんか取得するより、MOSの方が実用的だということをわかってほしいのです。
よろしくおねがいいたします。

Aベストアンサー

下記URLはいかがでしょうか。

参考URL:http://www.licenseworld.co.jp/ranking.html

QExcel VBA グラフオブジェクトの使用方法について

Excel2003のVBAについて教えて下さい。
以下の(1)~(4)のコードを用いて セル"A1"に設定された値をグラフスケール(最大値)に設定しようとしています。

(1) scaleData = Worksheets("シート1").Range("A1").Value
(2) Set chartObj = ActiveSheet.ChartObjects(1)
(3) Set chart1 = chartObj.Chart
(4) chart1.Axes(xlValue).MaximumScale = scaleData

グラフオブジェクト単体(グループ化しない)時は問題なく、グラフスケールの設定が行えたのですが、グラフオブジェクトやラベル、ボタンなどを結合すると、(3)で、以下のエラーメッセージが出て、グラフスケールの設定が行えません。

「WorksheetクラスのChartObjectsプロパティを取得できません。」

グループ化することにより、グラフオブジェクトの指定方法が異なるのでしょうか?
解決方法をご存知の方、教えて下さい。宜しくお願い致します。

Excel2003のVBAについて教えて下さい。
以下の(1)~(4)のコードを用いて セル"A1"に設定された値をグラフスケール(最大値)に設定しようとしています。

(1) scaleData = Worksheets("シート1").Range("A1").Value
(2) Set chartObj = ActiveSheet.ChartObjects(1)
(3) Set chart1 = chartObj.Chart
(4) chart1.Axes(xlValue).MaximumScale = scaleData

グラフオブジェクト単体(グループ化しない)時は問題なく、グラフスケールの設定が行えたのですが、グラフオブジェクトやラベル、ボタンなどを結合...続きを読む

Aベストアンサー

#1さんと、表現が異なりますが、同じ事ですね。おまけ付きです。XL2000用です。
'シートモジュールの場合
Sub test()
Me.Shapes("Group 4").GroupItems("Chart 1").DrawingObject.Chart.Axes(xlValue).MaximumScale = 2
End Sub

'おまけ グループ化された図形も含め、図形の名前リストアップ
Sub test2()
Dim shp As Shape
For Each shp In Me.Shapes
Debug.Print Me.Name & ":" & shp.Name
If shp.Type = msoGroup Then Call test3(shp)
Next shp
End Sub

Sub test3(shp As Shape)
Dim shp2 As Shape
For Each shp2 In shp.GroupItems
Debug.Print shp.Name & ":" & shp2.Name
If shp2.Type = msoGroup Then Call test3(shp2)
Next shp2
End Sub

#1さんと、表現が異なりますが、同じ事ですね。おまけ付きです。XL2000用です。
'シートモジュールの場合
Sub test()
Me.Shapes("Group 4").GroupItems("Chart 1").DrawingObject.Chart.Axes(xlValue).MaximumScale = 2
End Sub

'おまけ グループ化された図形も含め、図形の名前リストアップ
Sub test2()
Dim shp As Shape
For Each shp In Me.Shapes
Debug.Print Me.Name & ":" & shp.Name
If shp.Type = msoGroup Then Call test3(shp)
Next shp
End Sub

Sub test3(shp As Shape)
Dim shp2...続きを読む

QITパスポートの資格取得を目指していますが

書店では、いろんなテキストが市販されているので、どういうものを選んだほうがいいのか迷ってます。
わかりやすいテキストがあれば。。。

受験された方、現在学ばれている方を参考にしたいと思います。

できれば、具体的なテキスト名を教えてもらえれば助かりますが。。

Aベストアンサー

 最も月並みでオーソドックスな回答ですが、ITECの出している参考書と問題集が最も標準的かと思います。
 私はITパスポートの資格は持っていませんが、基本情報、応用情報、プロジェクトマネージャなどいくつかの資格を、ITECの参考書と問題集で取得しました。情報処理技術者試験に関しては、最も歴史と信頼性のある出版社だと思います。

http://www.amazon.co.jp/IT%E3%83%91%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%88%E5%85%A5%E9%96%80-%E7%AC%AC2%E7%89%88-%E6%83%85%E5%A0%B1%E5%87%A6%E7%90%86%E6%8A%80%E8%A1%93%E8%80%85%E8%A9%A6%E9%A8%93%E5%AF%BE%E7%AD%96%E6%9B%B8-%E3%82%A2%E3%82%A4%E3%83%86%E3%83%83%E3%82%AF%E6%83%85%E5%A0%B1%E6%8A%80%E8%A1%93%E6%95%99%E8%82%B2%E7%A0%94%E7%A9%B6%E9%83%A8/dp/4872687744/ref=sr_1_1?s=books&ie=UTF8&qid=1391933415&sr=1-1&keywords=ITEC+IT%E3%83%91%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%88

http://www.amazon.co.jp/2011%E6%98%A5-IT%E3%83%91%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%88%E4%BA%88%E6%83%B3%E5%95%8F%E9%A1%8C%E9%9B%86-%E6%83%85%E5%A0%B1%E5%87%A6%E7%90%86%E6%8A%80%E8%A1%93%E8%80%85%E8%A9%A6%E9%A8%93%E5%AF%BE%E7%AD%96%E6%9B%B8-%E3%82%A2%E3%82%A4%E3%83%86%E3%83%83%E3%82%AF%E6%83%85%E5%A0%B1%E6%8A%80%E8%A1%93%E6%95%99%E8%82%B2%E7%A0%94%E7%A9%B6%E9%83%A8/dp/4872688317/ref=sr_1_3?s=books&ie=UTF8&qid=1391933415&sr=1-3&keywords=ITEC+IT%E3%83%91%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%88


 その他では、定評のある栢木先生のシリーズ、ITECと並んで歴史のあるTACのものでしょうか。
http://www.amazon.co.jp/%E5%B9%B3%E6%88%9026%E5%B9%B4%E5%BA%A6-%E3%82%AF%E3%83%AC%E3%83%90%E3%83%BC%E6%96%B9%E5%BC%8F%E3%81%A7%E3%82%88%E3%81%8F%E3%82%8F%E3%81%8B%E3%82%8B-%E6%A0%A2%E6%9C%A8%E5%85%88%E7%94%9F%E3%81%AEIT%E3%83%91%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%88%E6%95%99%E5%AE%A4-CBT%E5%AF%BE%E5%BF%9C-%E6%83%85%E5%A0%B1%E5%87%A6%E7%90%86%E6%8A%80%E8%A1%93%E8%80%85%E8%A9%A6%E9%A8%93/dp/4774160903/ref=sr_1_fkmr0_1?s=books&ie=UTF8&qid=1391933759&sr=1-1-fkmr0&keywords=I%E6%83%85%E5%A0%B1%E5%87%A6%E7%90%86+IT%E3%83%91%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%88

http://www.amazon.co.jp/%E3%81%AB%E3%82%8F%E3%81%8B%E3%82%8B-IT%E3%83%91%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%88-%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88-%E5%95%8F%E9%A1%8C%E6%BC%94%E7%BF%92-%E5%B9%B3%E6%88%9026%E5%B9%B4%E5%BA%A6/dp/4813256295/ref=sr_1_fkmr0_3?s=books&ie=UTF8&qid=1391933759&sr=1-3-fkmr0&keywords=I%E6%83%85%E5%A0%B1%E5%87%A6%E7%90%86+IT%E3%83%91%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%88

 最も月並みでオーソドックスな回答ですが、ITECの出している参考書と問題集が最も標準的かと思います。
 私はITパスポートの資格は持っていませんが、基本情報、応用情報、プロジェクトマネージャなどいくつかの資格を、ITECの参考書と問題集で取得しました。情報処理技術者試験に関しては、最も歴史と信頼性のある出版社だと思います。

http://www.amazon.co.jp/IT%E3%83%91%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%88%E5%85%A5%E9%96%80-%E7%AC%AC2%E7%89%88-%E6%83%85%E5%A0%B1%E5%87%A6%E7%90%86%E6%8A%80%E8...続きを読む

QVBAのオブジェクトの値を保持しておくには

ExcelのVBAにおいて、Deleteメソッドを使用して、
オブジェクトを削除する場合に、削除前に保持データを丸々待避させる
よい方法はないでしょうか。

例)グラフタイトルのフォントスタイルを書き戻す。
1. ActiveChart.ChartTitle.Fontの内容を待避させる。
2. Deleteでタイトルを消す。
ActiveChart.ChartTitle.Delete
3. 間に種々処理を行う。
4. 新しいタイトルをつける。
ActiveChart.HasTitle = True
ActiveChart.ChartTitle.Characters.Text = "foo"
5. ActiveChart.ChartTitle.Fontの内容を新しいタイトルに適用する。
プロパティーを列挙して変数に格納する方法を試したましたが、
プロパティーの数だけコードを書かなければならないので断念しました。

通常の変数であれば、
1. 規定値をセット(A=1)
2. 退避用の変数にAを保持させる(B=A)
3. Aに対して操作を行う
4. 待避した値をAに書き戻す(A=B)
というようなことができるのですが。
オブジェクトにSet等を試しましたが、Setを使ってオブジェクトを入力した場合、
もとオブジェクトの変化に対して動的に値が変化するため、待避できませんでした。

どなたか、わかる方がいらっしゃいましたら、よろしくお願いいたします。

使用環境
WindowsXP SP2
Excel 2002 SP3

ExcelのVBAにおいて、Deleteメソッドを使用して、
オブジェクトを削除する場合に、削除前に保持データを丸々待避させる
よい方法はないでしょうか。

例)グラフタイトルのフォントスタイルを書き戻す。
1. ActiveChart.ChartTitle.Fontの内容を待避させる。
2. Deleteでタイトルを消す。
ActiveChart.ChartTitle.Delete
3. 間に種々処理を行う。
4. 新しいタイトルをつける。
ActiveChart.HasTitle = True
ActiveChart.ChartTitle.Characters.Text = "foo"
5. ActiveChart.ChartTitle.Fon...続きを読む

Aベストアンサー

>Setを使ってオブジェクトを入力した場合、もとオブジェクトの変化に対して動的に値が変化

 そうなんですよね~。オブジェクトの代入は、オブジェクト・アドレスの参照渡しになって、値コピーを行ってくれません。これがVB.NETであれば、CopyやCloneメソッドがあるので、値コピーを行えますが、VBAはVB6仕様なので、恐らくCopyやCloneメソッドの類はありません。
(でも調べて下さいね。そして見つかったら、教えて下さい^^)

>プロパティーを列挙して変数に格納する方法を試したましたが、プロパティーの数だけコードを書かなければならないので断念しました

 私は今まで、これでやって来ました。ただしプロパティーCopy用のClassをつくり、一回作れば、目的のObjectを与えるだけで、Copyから再Copyまで全てやってくれるようにしています。またCopyするプロパティーは必要最小限に抑えています。Classであれば、拡張も容易ですし、ExcelのClassを部品として再利用できます。
 注意点としては、Excel Objectのプロパティーには、それ自体Objectであるものも多数含まれるので、Copyを行う際には、Objectの最下層プロパティーまで遡って、値型(StringやInteger,Singleなど)のプロパティーを退避させる必要のある事です。

>Setを使ってオブジェクトを入力した場合、もとオブジェクトの変化に対して動的に値が変化

 そうなんですよね~。オブジェクトの代入は、オブジェクト・アドレスの参照渡しになって、値コピーを行ってくれません。これがVB.NETであれば、CopyやCloneメソッドがあるので、値コピーを行えますが、VBAはVB6仕様なので、恐らくCopyやCloneメソッドの類はありません。
(でも調べて下さいね。そして見つかったら、教えて下さい^^)

>プロパティーを列挙して変数に格納する方法を試したましたが、プロパティー...続きを読む

Q資格取得&資格の勉強をしたい!

この春から大学の法学部に入学しました
その学部では特進クラスというものがあり
そのクラスでは公務員や税理士などを目指して
勉強していくのですが、無念にもそのクラスに入る為の
試験に落ちてしまいました(>-<)
2年次にまたそのクラスのテストは受けれるのですが
その間の1年間せっかく法の勉強をするので
何かその勉強を活かせる資格の勉強や取得をしたいのです
法学検定試験や司法書士、税理士などしか知らないのですが他にも法の入門的な資格はあるのでしょうか??
それと本屋でよく見かける問題集だけでは
やはり合格は難しいのでしょうか??
もしお薦めの問題集があれば資格は何でもいいので
教えてもらえるとありがたいです。
法に関しての知識は中学の公民レベルしかありません・・・・
資格の合格者のみなさんはどんな感じで勉強したんでしょう?
質問が色々でかなり長くなってしまいましたが
よろしくお願いします。

Aベストアンサー

こんばんは!tanukibayashiさん。
比較的取得しやすい法律系の資格といえば、宅地建物取引主任者や行政書士、ファイナンシャルプランナーなどではないでしょうか。(がんばれば独学でも?)
といっても一年生で取得するにはけっこうな努力が必要だと思います。
特に行政書士は基本的な法律(憲法、民法、行政法など)を学べるのでいいと思いますよ。
一年生なら伊藤真の入門シリーズを読むと法律の全体像をつかめて良いとおもいます。


人気Q&Aランキング

おすすめ情報