VBAで3次方程式 AX^3+BX-Cの編集を行っているのですが、130行目から170行目の意味がよくわかりません。大変困っています。どなたかお答えしていただけないでしょうか?
全てがわからずとも、なんらかの知識があれば助言お願いしたいです。
Sub test()
100 A = Range("A1").Value
110 B = Range("A2").Value
120 C = Range("A3").Value
130 CC = 0: AC = 0.1
140 XC = CC: GoSub 170
150 YC = BC: XC = AC + CC: GoSub 170: DC = CC: CC = DC - AC * YC / (BC - YC)
160 If Abs(DC - CC) >= 0.000001 Then GoTo 140 Else GoTo 180
170 BC = A * XC ^ 3 + B * XC - C: Return
180 Range("A7").Value = CC
End Sub
No.3ベストアンサー
- 回答日時:
回答No.2 です。
GoSub 170 は、170行目に処理を移動して、Return まで
実行したら戻ってくる、という処理です。
Goto は指定した行に移動するだけなのに対して、GoSub は
移動した後でまた戻ってくるのが特徴です。
なので、140行目からの処理の実行順は
XC = CC
GoSub 170 ← 処理を170行目に移動
BC = A * XC ^ 3 + B * XC - C ← 170行目の処理
Return ← Retuen なので移動元(GoSub)に戻る
YC = BC ← GoSub の次の処理(150行目)を実行
(以下省略)
ですね。
No.2
- 回答日時:
コロン(:)は処理の区切りを現します。
VBAでは通常、1行には1処理しか書けませんが、コロンを
付けることで複数の処理を1行に連続して書くことができます。
具体的に言えば、130行目の CC = 0: AC = 0.1 は
CC = 0
AC = 0.1
と2行に分けたのと同じ意味です。
…しかし、クラシックな記法のプログラムですね。
いまどき GoSub 170 なんて処理を見るとは思いませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/02/02 09:25
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Excel(エクセル) 並べ替え、ソートの構文がわからない。 お世話になります。VBA超初心者です。 エクセルでワークシート 2 2023/06/28 21:00
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) 【再投稿】VBAで動作しなくて困っています 2 2022/10/11 11:05
- Visual Basic(VBA) 動きっぱなしです。止め方とプロシージャの間違いを教えて下さい! 5 2022/08/15 23:08
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Visual Basic(VBA) 配列の勉強をしています。使用する変数の意味、検索条件の書き方が難しいです。 2 2022/09/15 14:06
- Visual Basic(VBA) エクセルのVBAでダブルクリックでチェックを入れたあと 1 2022/10/26 20:30
- Visual Basic(VBA) Excel VBAの解読について質問があります。 概要は、マクロでチェックボックスにチェックすると日 1 2023/02/10 07:50
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【C#/Java?】try-catchでcatch...
-
private subモジュールを他のモ...
-
IF文に時間(何時から何時ま...
-
特定の名前のオートシェイプの...
-
vbaのエラー対応(実行時エラー...
-
【Vb.net】プリンタジョブの取得
-
マクロで、次のコードへ行く前...
-
COBOL OCCURSで指定したデータ...
-
【VBA】エラー処理で別プロシー...
-
シグナル 6(SIGABRT)とは?
-
RaiseEventのメリット
-
エクセルVBAでロックをかけたい
-
ExcelのVBAで、選択したファイ...
-
エクセル画面のちらつきなくす...
-
VBAでBook読み込み時の非表示方...
-
C# 指定時間(秒間)の間処理を...
-
ドリブン??
-
VB6.0で、ランタイムエラーを全...
-
VB6にてネットワーク上にある共...
-
VB6で定時刻処理
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【C#/Java?】try-catchでcatch...
-
private subモジュールを他のモ...
-
IF文に時間(何時から何時ま...
-
マクロで、次のコードへ行く前...
-
特定の名前のオートシェイプの...
-
シグナル 6(SIGABRT)とは?
-
特定のファイルを他のプロセス...
-
ExcelのVBAで、選択したファイ...
-
Excel VBA セルの名前があるか...
-
どう増強すべきか
-
Word VBA。各マクロの間に待ち...
-
【VBA】エラー処理で別プロシー...
-
UWSCのTHREADについて
-
シェルスクリプトでファイル内...
-
ドリブン??
-
Functionで戻り値を複数返す方法
-
iPhoneのニューラルエンジンっ...
-
エクセル VBAで複数セル選択時...
-
COBOL OCCURSで指定したデータ...
-
どうやってもFor文を抜けてしま...
おすすめ情報