Excelのマクロで10個のセルの合計値が初めて200を超えたところに←を示すプログラムを作れ。また、10個のセルを合計しても200を越えない時は最後の行に合計値を表示せよ。 この問題でこの下の日本語の所を式に直すとどうなりますか?
教えてくださいm(_ _)m
全く分からなくて、、、
Dim i As Long
Dim total As Long
i=1
While 合計が200を超えていない かつ 11行目まで達していない
iの行をtotalに足す
iを1増やす
Wend
if 合計が200を超えている Then
i行に"←"
Else
i行に合計値を入力
End If
End Sub
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
No1です。
>4の横のB4のセルに←がでるようにしたいのですが、
>B5のセルに←がでてしまって上手くいきません。
No1にも書きましたが、処理の手順がそのようになっているのが原因です。
(コードそのものよりも、「処理手順の考え方」の問題です)
>どうしたら良いでしょうか?
たいした手間では無いので、1行ずつ実際にどう処理されていくのかを、処理手順に沿って机上でシミュレートしてみれば、理由はわかると思います。
理由がわかれば、どうすればよいかはご自身でお分かりになることと思います。
結果だけを貰っても、「考える力」は身に付きません。
No.2
- 回答日時:
普通に
For ~Next
でOK。
・・・
>iを1増やす
を使わずに、10個の合計をダラダラと書き連ねたマクロを書いてみましょう。
その中で
For ~Next
で繰り返し処理できそうなところを纏めてしまえばOK。
「繰り返し処理」ってのはそうやって考える。
……まあ、ダラダラと書いたマクロでも処理できるので、それで問題は解決するんだけどね。
No.1
- 回答日時:
こんばんは
セルの位置は「行番号」と「列番号」で決まるので、「i行に~」と書かれてもセル位置は決まりません。
以下のサンプルに、必要な列番号を追加してください。
ご質問文の上から順に
While total <= 200 And i < 11
total = total + Cells(i, ?)
i = i + 1
If total > 200 Then
Cells(i, ?).Value = "←"
Cells(i, ?).Value = total
※ ご提示のロジックのままだと、多分お望みの結果にはならないと思われます。
(正確に、どうなさりたいのかは不明ですけれど・・)
※ セルの値が「数値であること」のチェックもなされていないので、変な値が存在する場合には、エラーが発生する可能性があります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VABについて 1.xlsm、VBA.xlsm2つのファイルがあり、1.xlsmにてVB 6 2021/12/13 17:46
- Excel(エクセル) マクロを修正できないものか、統合シートについて 3 2021/12/07 09:26
- Visual Basic(VBA) Excel VBAでフォルダ内の全テキストファイルの任意データを取得について 7 2021/12/18 16:00
- Visual Basic(VBA) EXCEL VBA シート比較し〇×判定 1 2021/11/19 11:49
- Excel(エクセル) excel2013 色付きセルの値合計 3 2023/02/28 11:48
- Visual Basic(VBA) 空のシートに関数を入れたい 2 2021/12/03 15:08
- Excel(エクセル) マクロ作成で困っています。お教え頂けませんか。 1 2021/12/12 17:02
- Visual Basic(VBA) 条件をつけてカウントする 4 2021/12/19 20:27
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
- Excel(エクセル) VBA オリジナル関数で選択セルの合計を作成したい 3 2023/03/19 19:45
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
VBAを教えていただきたいです。 添付のような「data sheet」があります。 他に、「集計 s
Visual Basic(VBA)
-
エクセルのマクロのコードについて
Visual Basic(VBA)
-
ユーザーフォームに別シートからデータを反映させたい。
Visual Basic(VBA)
-
-
4
VBA 二つのブックをうまく扱えないでいます
Visual Basic(VBA)
-
5
Excel VBAマクロをマスターするのに、どれ位時間掛かりますか?
Visual Basic(VBA)
-
6
Excel VBAでの数値の計算についておしえてください
Visual Basic(VBA)
-
7
ご教授お願いします。#NUM!が解消されません。
Visual Basic(VBA)
-
8
Excel VBA コードを教えてください。
Visual Basic(VBA)
-
9
VBAのことで質問です
Visual Basic(VBA)
-
10
VBA コード
Visual Basic(VBA)
-
11
お世話になります。 Excel VBAのプログラムについてご教授をお願いいたします。 添付した写真よ
Visual Basic(VBA)
-
12
excelのVBAについて、以下のコードに追加をお願いいたします。
Visual Basic(VBA)
-
13
ゆっくりムービーメーカーのエクセルVBAマクロがうごかない
Visual Basic(VBA)
-
14
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
15
列の順番を入れ替えて吐き出
Visual Basic(VBA)
-
16
Cellsのコードが打てません
Visual Basic(VBA)
-
17
VBA実行後に元のセルに戻りたい
Visual Basic(VBA)
-
18
エクセルVBAでデータ転記
Visual Basic(VBA)
-
19
マクロについて教えてください。 下記のマクロは以前教えて頂いたマクロです。 マクロを実行すると 指定
Visual Basic(VBA)
-
20
引数に数値、文字列の混在
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのマクロについて教え...
-
特定のセルが空白だったら、そ...
-
Excelで指定した日付から過去の...
-
連続する複数のセル値がすべて0...
-
【Excel VBA】指定行以降をクリ...
-
i=cells(Rows.Count, 1)とi=cel...
-
VBAでセルをクリックする回...
-
セルの結果でマクロ実行
-
特定の文字を条件に行挿入とそ...
-
ExcelVBAを使って、値...
-
【Excel】指定したセルの名前で...
-
VBA初心者です。結合セルを保持...
-
”戻り値”が変化したときに、マ...
-
DataGridViewの各セル幅を自由...
-
HTMLでVLOOKUP関数のようなこと...
-
任意フォルダから画像をすべて...
-
【VBA】指定したセルと同じ値で...
-
結合したセルの高さを内容に合...
-
TODAY()で設定したセルの日付...
-
[Excel VB]プルダウンで文字選...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
i=cells(Rows.Count, 1)とi=cel...
-
【Excel VBA】指定行以降をクリ...
-
Excelで指定した日付から過去の...
-
【Excel】指定したセルの名前で...
-
TODAY()で設定したセルの日付...
-
EXCELで変数をペーストしたい
-
Excel VBA、 別ブックの最終行...
-
Excelのプルダウンで2列分の情...
-
VBA コピーして次の値まで貼り...
-
screenupdatingが機能しなくて...
-
エクセルVBAでコピーして順...
-
VBA初心者です。結合セルを保持...
-
セル色なしの行一括削除
-
VBAでセルをクリックする回...
-
Excel vbaで特定の文字以外が入...
-
DataGridViewの各セル幅を自由...
-
特定の文字を条件に行挿入とそ...
-
【VBA】指定したセルと同じ値で...
おすすめ情報
回答ありがとうございますm(_ _)m
A列の1行目から10行目に上から89 85 24 4 15 5 47 97 56 65と数字があり、4の横のB4のセルに←がでるようにしたいのですが、B5のセルに←がでてしまって上手くいきません。どうしたら良いでしょうか?
何度もすみません。教えてくださいm(_ _)m