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も見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
csvファイルを列数ごとに分割するExcelマクロが書けずに困っています
Visual Basic(VBA)
-
ユーザーフォームに別シートからデータを反映させたい。
Visual Basic(VBA)
-
エクセル VBAでの転記の方法について
Visual Basic(VBA)
-
-
4
VBAのコードを教えてください
Visual Basic(VBA)
-
5
ExcelのVBAのことで質問です。 以下のコードを入れ、ボタンを押せば作動させると写真のように画面
Visual Basic(VBA)
-
6
excelのVBAについて、以下のコードに追加をお願いいたします。
Visual Basic(VBA)
-
7
引数に数値、文字列の混在
Visual Basic(VBA)
-
8
VBA とびとびの列を結合させる
Visual Basic(VBA)
-
9
Excel 書式のクリア・値貼付けをしても書式が変わらない
Excel(エクセル)
-
10
Excelの同じ数値に記号をつけたい
Excel(エクセル)
-
11
Excelの各シートを色ごとで分類して値転記するマクロの作り方を教えて下さい。
Visual Basic(VBA)
-
12
Excel VBAでの数値の計算についておしえてください
Visual Basic(VBA)
-
13
Excel VBA ダブルクリックで入力 複数まとめる
Visual Basic(VBA)
-
14
Cellsのコードが打てません
Visual Basic(VBA)
-
15
VBAコードが作動しません。修正したいのですが何処に原因かあるか教えて下さい。
Visual Basic(VBA)
-
16
エクセルVBAの配列について
Visual Basic(VBA)
-
17
Excel VBAにて、2GB超の点群データ(CSVファイル,改行コードLF)を高速で解析したい。
Visual Basic(VBA)
-
18
chatGPTで質問してみた エクセルのVBAについて
Visual Basic(VBA)
-
19
VBEを開くのにコマンド名が「Visual Basic」な理由はなぜ?
Visual Basic(VBA)
-
20
エクセルのマクロについて教えてください。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のセルが空白だったら、そ...
-
ExcelVBAを使って、値...
-
i=cells(Rows.Count, 1)とi=cel...
-
【Excel VBA】指定行以降をクリ...
-
Excelのプルダウンで2列分の情...
-
Excel VBA、 別ブックの最終行...
-
EXCELで変数をペーストしたい
-
Excelで指定した日付から過去の...
-
EXCELのVBA-フィルタ抽出後の...
-
連続する複数のセル値がすべて0...
-
VBAでマクロ実行中はExcelのマ...
-
Application.Matchで特定行の検索
-
【VBA】シート上の複数のチェッ...
-
マクロ セルの値に応じてセルに...
-
TODAY()で設定したセルの日付...
-
ExcelのVBAのチェックボックス...
-
VBAでセルをクリックする回...
-
【EXCEL VBA】Range("A:A").Fi...
-
セル色なしの行一括削除
-
【VBA】指定したセルと同じ値で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
【Excel VBA】指定行以降をクリ...
-
i=cells(Rows.Count, 1)とi=cel...
-
Excelで指定した日付から過去の...
-
【Excel】指定したセルの名前で...
-
VBAの計算で@が出てしまう件
-
Excelのプルダウンで2列分の情...
-
EXCELで変数をペーストしたい
-
VBA ユーザーフォーム ボタンク...
-
VBAでセルをクリックする回...
-
Excel VBA、 別ブックの最終行...
-
Excel vbaで特定の文字以外が入...
-
TODAY()で設定したセルの日付...
-
screenupdatingが機能しなくて...
-
セル色なしの行一括削除
-
エクセルVBAでコピーして順...
-
VBAを使用した時間管理
-
”戻り値”が変化したときに、マ...
-
Sub 要具ライフ() ActiveSheet....
おすすめ情報
回答ありがとうございますm(_ _)m
A列の1行目から10行目に上から89 85 24 4 15 5 47 97 56 65と数字があり、4の横のB4のセルに←がでるようにしたいのですが、B5のセルに←がでてしまって上手くいきません。どうしたら良いでしょうか?
何度もすみません。教えてくださいm(_ _)m