アフィリエイト広告を利用しています
メニュー
Java関連
C言語
Python
RaspberryPi
Windows10
Word
Excel
PowerPoint
Access
AutoCAD
Jw_cad
Photoshop
Illustrator
その他


最新記事
<< 2017年07月 >>
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
カテゴリアーカイブ
日別アーカイブ
↓エンジニア特化型のQ&Aサイト『テラテイル』。メールアドレスのみで登録ができます。 困ったときに助けてもらえるかも!

広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog

2017年07月12日

オブジェクト式がわからない【Excel VBA】







VBAを理解するための第一歩はオブジェクト式
つまりオブジェクトとは?メソッドとプロパティとは?
を理解するところから始まります。
・・・・・・が!

わからない!!
どーしてもわからないんです!
オブジェクトとは、ブック、シート、セルなど。
メソッドは動作
プロパティは値を設定するもの。
大まかにはわかりました。
基礎の本も読みました。
実際にマクロもつくりました。

でも!!
なんかモヤモヤする!
Javaなどのメソッドやプロパティと、なにかが違う。

よくよく考えるとハテナだらけでした。
ここでつまづいているのは私だけでしょうか・・・?

疑問その1
ワークシート、ブック、セルがオブジェクトなら
ActivesheetやActivecellもオブジェクトのはず
なのに ActivesheetやActivecellやSelection はプロパティらしい
よくよく調べるとRangeもCellsもWorksheetsでさえも・・!

疑問その2
プロパティにも引数や戻り値がある 
Range("A1") ってプロパティらしいのに引数がある。
(いや引数じゃなくて配列?コレクション??)
そのうえ、Rangeオブジェクトを返すらしい
引数と戻り値があるとすると、
プロパティとメソッドとの区別がつかなくなると思うんだけど??


疑問その3
そもそも区別をどこまで理解しなければいけないのか
プロパティであってもメソッドであっても、
戻り値があるかないかだけを知っていれば済む話なのか
・・・半分理解をあきらめたギモンです(^^;)


考えれば考えるほどよくわからなくなっていくオブジェクト式・・・!
恐るべし。。。


とりあえず疑問1について
悩んだ結果、ある答えがひらめきました!

まず、プロパティには2パターンあるということ
・よくある説明どおり、属性として値をセットするもの
・オブジェクトとして扱われる(オブジェクトを返す)もの
わからないのは、2番目のオブジェクトを返すプロパティでした。

で、ひらめいたこととは。
『プロパティにはオブジェクトのアドレスが格納されている』のでは!? 
ということです。
アドレスが格納されている、つまりポインタと考えると
プロパティとして定義されているのも納得だし
オブジェクトとして扱われているのも納得できます!!

オブジェクト返すといわれて戻り値を連想して、
プロパティに戻り値があるのに違和感を感じていたのですが
ポインタなら戻り値ではないですね!

疑問2も半分くらい解消されました。
真偽のほどは定かではありませんので参考まで・・・!

のこる疑問も解消すべく
少しずつ勉強してきたいと思います。







posted by Milky at 00:53 | TrackBack(0) | Excel VBA

2017年07月06日

データテーブルの式の場所は?【Excel】

■データテーブルの式の場所は?
■わかりやすいサイト
■データテーブルには単入力と複入力がある
1.単入力 列方向のデータテーブル
2.単入力 行方向のテータテーブル
3.複入力 行方向+列方向のデータテーブル
■まとめ






■データテーブルの式の場所は?

MOS Expertを目指している方から
What-If分析のところにあるデータテーブルの使い方が
よくわからない、という質問を受けたので参考になる箇所をまとめてみます。

よくわからない問題というのは、
こちら↓で説明があるような標準体重に関するの問題なのですが
All About:単入力テーブルを作成しよう
(これ日経BPのMOS問題集の問題とそっくりですね。。。)
『列の代入セルとは全く関係なさそうなところに式が入っているのに
なぜデータテーブルが計算されるのかピンとこない』そうです。
つまり、データリストと数式の位置関係がよくわからないようです。

■わかりやすいサイト

データシートの例はこちらがとても分かり易いです。
よねさんのExcelとWordの使い方:データテーブルの作り方の例
(データテーブル以外でもよくお世話になっていますm(__)m)

しかし、これが理解できても上記の標準体重のデータシートが理解できません。
なぜでしょうか?

■データテーブルには単入力と複入力がある

データテーブルがわかりにくい理由は
単入力と複入力で少しやり方が違ってくるからです。
具体的には、「式の入力場所」です。
これは、考えてもわかりません。
決まりがあるので覚えましょう。

Excelのヘルプを見てみました。

<単入力>
「単入力テーブルを作成する」という項の手順3と4に次の内容が書かれています。
3.データ テーブルが列方向にある (変数値が 1 列に入力されている) 場合は、値の列の右上のセルに数式を入力します。(以下略)
4.データ テーブルが行方向にある (変数値が 1 行に入力されている) 場合は、最初の値の左下のセルに数式を入力します。(以下略)

<複入力>
「複入力テーブルを作成する」という項の手順2と3に次の内容が書かれています。
2.数式のに、縦 1 列に 1 つ目の代入値のリストを入力します。
3.数式のに、横 1 行に 2 つ目の代入値のリストを入力します。

つまりどういうことかというと
データテーブルには単入力と複入力という2パターンの入力方法があり
さらに単入力にはデータテーブルを列方向に入力したものと
行方向に入力したものがある
ということは、3パターンに分けられるということです。

では、パターンに分けて整理してみます。

1.単入力 列方向のデータテーブル
この場合は、数式をデータリストの右上のセルに配置します

a8_097.jpg
※行・列の代入セルの置き場所には決まりはありません

そして以下の手順でデータテーブルを作成します。
1. 範囲選択【B2:C8】
2. データタブ→What-If分析→データテーブル
3. 列の代入セル【A10】

結果は以下のようになります。
a8_102.jpg


2.単入力 行方向のテータテーブル
この場合は、数式をデータリストの左下のセルに配置します

a8_098.jpg

1 範囲選択【B2:H3】
2 データタブ→What-If分析→データテーブル
3 行の代入セル【B7】

結果
a8_101.jpg


3.複入力 行方向+列方向のデータテーブル
この場合は、データリストを縦横に配置し、数式をそのカドに置きます

a8_099.jpg

1 範囲選択【B2:F8】
2 データタブ→What-If分析→データテーブル
3 行の代入セル【B11】
4 列の代入セル【B10】

結果
a8_100.jpg



■まとめ

データテーブルは3パターンに分けて考えるとよい
パターン1 データリストが列方向の場合 数式は右上
パターン2 データリストが行方向の場合 数式は左下
パターン3 データリストが列方向+行方向の場合 数式は左上カド







posted by Milky at 22:45 | TrackBack(0) | Excel
プロフィール
Milkyさんの画像
Milky
職業訓練校のPC講師⇒ITインストラクターをやっています。 パソコン関連で、知りたいこと・調べたこと・教えたこと・わからないことなど 整理しながらまとめていきたいと思います。
プロフィール
検索
タグクラウド
最新コメント
コメント用 by こむ (05/12)
ファン
×

この広告は30日以上新しい記事の更新がないブログに表示されております。