以下のマクロをご覧ください
-Excel-Excel-Excel が答えとなります
B = B & "-" & "Excel" ←この処理を3回
実施した結果かとは思います
B & の部分が分かりません。
●B=Bなら分かりますが、B = B & "-" & "Excel"
がなぜ、イコールになるのか?
●B & の部分を削除すれば良いですが、-Excel-Excel-Excel
の結果は出ません
コードの意味が分かるかた教えて下さい
宜しくお願いします
【コード】
Sub B()
Dim i As Long, B As String
For i = 1 To 3
B = B & "-" & "Excel"
Next i
MsgBox B
End Sub
No.8
- 回答日時:
1回目のBには何も入っていない。
Bという変数を使うという宣言がされただけで、中には何もない状態です。
・・・
同様に、変数の i も空の状態から始まります。
i は、For文で
i に1を格納し中の値を3まで(1つずつ増やしながら)ループする。
と宣言しています。
※ 「2つずつ増やす」とか「3つずつ増やす」という宣言もできます。
増やす量の宣言を省略する場合「1つずつ増やす」として扱われます。
変数は、最初は何も入っていないのですね
私は、変数は、こちらで何かを定義するものかと
思っていました
↓最初は、何も入っていないという前提なのですね
Bという変数を使うという宣言がされただけで、中には何もない状態です。
No.6
- 回答日時:
(。
´・ω・)ん?1回目
Bの値は空。
B = B & "-" & "Excel"
↓
B = "" & "-" & "Excel"
↓
Bの値は ”-Excel”
2回目
Bの値は ”-Excel”。
B = B & "-" & "Excel"
↓
B = "-Excel" & "-" & "Excel"
↓
Bの値は ”-Excel-Excel”
3回目
Bの値は ”-Excel-Excel”。
B = B & "-" & "Excel"
↓
B = "-Excel-Excel" & "-" & "Excel"
↓
Bの値は ”-Excel-Excel-Excel”
・・・これで分からない場合、
CPUの内部では次の手順で演算されているので
理解するようにしてください・・・
1回目の演算の手順を示してみます。
演算はCPUのアキュムレータと呼ばれる場所に入れられて行われます。
Bの値をアキュムレータと呼ばれる演算する場所に格納する。
├─────┤
│ 空 │
├─────┤
│ 空 │
├─────┤
→ 空(値) │
┴─────┴
アキュムレータを一つ押し上げ空ける。
├─────┤
│ 空 │
├─────┤
│ 空(値) │
├──↑──┤
│ 空 │
┴─────┴
空いたアキュムレータに ”-” を入れる。
├─────┤
│ 空 │
├─────┤
│ 空(値) │
├─────┤
→ ”-” │
┴─────┴
押し上げたアキュムレータの値と、今入れた ”-” を結合する。
├─────┤
│ 空 │
├─────┤
│ 空 │
├──↓──┤
│ ”-” │
┴─────┴
アキュムレータには ”-” が入る。
├─────┤
│ 空 │
├─────┤
│ 空 │
├─────┤
│ ”-” │
┴─────┴
アキュムレータを一つ押し上げ空ける。
├─────┤
│ 空 │
├─────┤
│ ”-” │
├──↑──┤
│ 空 │
┴─────┴
空いたアキュムレータに ”Excel” を入れる。
├─────┤
│ 空 │
├─────┤
│ ”-” |
├─────┤
→ ”Excel” |
┴─────┴
押し上げたアキュムレータの値と、今入れた ”Excel” を結合する。
├─────┤
│ 空 │
├─────┤
│ 空 |
├──↓──┤
│ ”-Excel” |
┴─────┴
アキュムレータに入っている ”-Excel” をBに格納する。
├─────┤
│ 空 │
├─────┤
│ 空 |
├─────┤
← ”-Excel” |
┴─────┴
2回目は ”空(値)” ではなく ”-Excel” の値を入れるところから
3回目は ”空(値)” ではなく ”-Excel-Excel” の値を入れるところから
始まる。
お返事ありがとうございます
Bの値は空。 という決め事?が分かりません。
何か、最初、Bは空 という定義があればわかるのですが
突然、Bは空と言われた感じがします。
もちろん、銀鱗 様の解説が正当なのはわかってはいます
決め事であれば、理解はできます。
他、解説あればお願いします
No.5
- 回答日時:
●B=Bなら分かりますが、B = B & "-" & "Excel"
がなぜ、イコールになるのか?
ifがないので比較ではなく、右の結果を左へ代入です。
●B & の部分を削除すれば良いですが、-Excel-Excel-Excel
の結果は出ません
B&のBの中身を先頭に使い、&で後ろを連結してBに入れなおすです
No.3
- 回答日時:
VBA(←マクロに使う構文)では、比較演算子(=,>,<など)と代入演算子が同じなのでこうなってしまします。
ここでは代入演算子として使用していますので、
>B = B & "-" & "Excel"
は、元々あったB(の文字列)に、「-」と「 Excel」を付けたしなさい!という処理をしているのです。
最初Bの中身は空白ですから、1回目の処理で"-Excel”という文字列になり、それを3回繰り返すことにより、”-Excel-Excel-Excel”となるのです。
>●B & の部分を削除すれば良いですが、
とすると、Bに"-Excel"という文字を代入しなさい!という処理を3回行っているだけですので、結果は前述のようにはなりません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
誕生日にもらった意外なもの
みなさんがもらった誕生日プレゼントで面白いものがあったらぜひ教えてください!
-
職場の人から聞かれており、こんなことができるか教えて下さい。 vbaとかはできません。。 下記リスト
Excel(エクセル)
-
エクセルでバーコード作成し使用しているんですが、違うパソコンで同じエクセルファイルを使用したらバーコ
Excel(エクセル)
-
【マクロ】Ifとwith ステートメントにて分からない部分があります
Excel(エクセル)
-
-
4
数字入力後他の文字等が表示される方法について
Excel(エクセル)
-
5
自動入力で今月はMONTH(TODAY())で良いのですが、翌月はどのようにすれば良いでしょうか。
Excel(エクセル)
-
6
【関数】スペースがいくつ入った後の文字列を取り出したい
Excel(エクセル)
-
7
Excel 対象のセルに入力が無いとセルに入力できないようにしたい
Excel(エクセル)
-
8
Excelの数式の効率化について
Excel(エクセル)
-
9
エクセルで数字の組み合わせを列記したい
Excel(エクセル)
-
10
【マクロ】functionプロシージャの、変数について
Excel(エクセル)
-
11
エクセルで上位バイトのセルと下位バイトのセルを1つのセルにして16進数を作る方法
Excel(エクセル)
-
12
エクセルのクイックアクセスツールバーには何を登録したら良いですか?罫線を引く「格子・枠なし・外枠」と
Excel(エクセル)
-
13
Excelで、10000,20000,30000と表示されているのですが、時々10000,20000
Excel(エクセル)
-
14
CSVファイルについて質問です。
Excel(エクセル)
-
15
エクセルでCtrl+Tでテーブルの作成ができますが、これがピボットテーブルですか?
Excel(エクセル)
-
16
【ExcelVBA】名前を付けて保存→PDF保存をマクロで実行できますか?
Excel(エクセル)
-
17
データチェックを行うエクセルマクロをおしえてほしい
Excel(エクセル)
-
18
西暦や和暦の表示をyyyymmdd表示へ変更をしたい
Excel(エクセル)
-
19
Excel 1の位の数字で処理を分岐させたい
Excel(エクセル)
-
20
Excelで数値を時間数に変換する関数について
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
次のような連立方程式がある。
-
数値代入法による恒等式の解説...
-
β-α=√Dになる途中の計算の意味...
-
方程式2x+3y=33 を満たす自然数...
-
X=√3+2、Y=√3-2のと...
-
数II 教えてください
-
必要十分条件の混乱
-
y=2x-1/x+1の逆関数を求めるも...
-
方程式の解の一つの簡単なだし...
-
青チャート 基本例題10(分...
-
損益算の解き方がわかりません!
-
常微分方程式の解
-
急ぎ目でお願いしますm(_ _)m ...
-
「この2式の辺々を掛けて」とあ...
-
逆元の計算方法
-
数学の漸化式で定められる数列...
-
証明です
-
√2=1.414として、次の値を求め...
-
【等式 x+2y+3y=12を満たす自然...
-
連立方程式の解き方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「この2式の辺々を掛けて」とあ...
-
逆元の計算方法
-
数学 確率の最大値
-
整式P(x)をx²+x+1で割ると余...
-
連立方程式の解き方
-
数値代入法による恒等式の解説...
-
5x+7y=1の整数解を全て求めよ ...
-
数列について
-
arctanxをf(x)とし、そのn回微...
-
一次不定方程式の整数解のうち...
-
(高3)4元2次方程式がとけません。
-
【等式 x+2y+3y=12を満たす自然...
-
次のような連立方程式がある。
-
β-α=√Dになる途中の計算の意味...
-
式の変形
-
代入法なのに、逆の確認をしな...
-
x^n-1を(x-1)^2で割った時の余り
-
急ぎ目でお願いしますm(_ _)m ...
-
複素数の計算の問題についてで...
-
数学の漸化式で定められる数列...
おすすめ情報