Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


787 / 13645 ツリー ←次へ | 前へ→

【78299】if公式を使ったsum if.iserror 16/6/21(火) 6:54 質問[未読]
【78300】Re:if公式を使ったsum γ 16/6/21(火) 7:19 回答[未読]
【78301】Re:if公式を使ったsum β 16/6/21(火) 7:28 質問[未読]
【78302】Re:if公式を使ったsum β 16/6/21(火) 7:33 発言[未読]
【78303】Re:if公式を使ったsum [名前なし] 16/6/21(火) 7:58 お礼[未読]
【78304】Re:if公式を使ったsum kamikaya 16/6/21(火) 8:43 発言[未読]

【78299】if公式を使ったsum
質問  if.iserror  - 16/6/21(火) 6:54 -

引用なし
パスワード
   文系、経理業務で3年ほどエクセルの関数を触らせていただいているものです。

最近会社の数えで65歳の先輩と話す機会が増え、
昼休みにVBAを教えていただけることになりました。

しかし、全くの初心者のため、
宿題として出された
if公式の練習として1-10を(1.1)〜(10.1)のセルに埋め
最後1-10をsumする方法が思いつきません。

教えていただいているのは変数の設定の仕方、
if,then,go toのみです。
一応考えているのは(x.1)と設定する方法ですが、いい方法が思いつきません。
他にVBA使っている人に聞いてみると、「その方法ではうまくいかないだろう」とも言われています。

プログラマーの知り合いに聞いたところ、趣味で繋がっているのに、仕事関係の質問は失礼に感じる、そのため教えられないと言われ、こちらを紹介されました。

不躾ではありますが、どなたか、ご親切な方のお助けをいただけないでしょうか。
また、新参者ですので、掲示板上のマナーなどに反するところがあればお教えください(もう少し簡潔に書くなど)

宜しくお願いします。

【78300】Re:if公式を使ったsum
回答  γ  - 16/6/21(火) 7:19 -

引用なし
パスワード
   ▼if.iserror さん:
>if公式の練習として1-10を(1.1)〜(10.1)のセルに埋め
>最後1-10をsumする方法が思いつきません。
ifと余り関係無いように思いますけど。
むしろFor .. Nextによる繰り返しじゃないですか?
宿題はできなくて結構ですから、
その65歳さんに直接お聞きするのがよいと思います。

以下は、感想です。
>教えていただいているのは変数の設定の仕方、
>if,then,go toのみです。
goto は余り使わないし、
スパゲッティプログラムにならないよう、
できるだけgoto は使わないように、
というのが普通です。大丈夫かなあ。

併行して(閉口ではなく)基本的なテキストを購入して、
それを学習することをお勧めします。
こうしたところで、基本的な考え方に属する部分の説明を求めても
効率が悪いです。

【78301】Re:if公式を使ったsum
質問  β  - 16/6/21(火) 7:28 -

引用なし
パスワード
   ▼if.iserror さん:

γさんと同じ感想を持ちました。

かぞえ65なら、そんなに年寄りというわけではありませんけど、その世代って微妙で
実務的には(若いころ)、ゴリゴリのレガシーなプログラムを経験して、そのあとで
構造化プログラミングやオブジェクト指向が登場してきましたけど、それらの実務経験は少なく
頭の中での理解にとどまっている人が少なくありません。(かくいうβも、その一人ですが)

そういう人にとって、ループ制御は、GoTo なんですねぇ。
でも、基本の制御は For/Next や Do/Loop です。

職場の関係、しかも先輩でしょうから、波風たてるのはまずいでしょうから
γさんリコメンドの通り、参考書等での基本的な学習も是非併用してください。

【78302】Re:if公式を使ったsum
発言  β  - 16/6/21(火) 7:33 -

引用なし
パスワード
   ▼if.iserror さん:

連投失礼。

宿題に対するコード案、その先輩の頭にお中にあるであろう【模範解答】や
通常ならこう書くというコードを提示するのは難しくありません。

でも【宿題】としてだされたわけですよね。
自力で、そのコードが書けないなら、すなおに、できませんでしたといって
先輩から(先輩なりの)回答をもらうのがよろしいのでは?

【78303】Re:if公式を使ったsum
お礼  [名前なし]  - 16/6/21(火) 7:58 -

引用なし
パスワード
   取り急ぎスマートフォンからお礼致します。
教えてもらいます。
社会常識がなく、申し訳ありませんでした。

【78304】Re:if公式を使ったsum
発言  kamikaya  - 16/6/21(火) 8:43 -

引用なし
パスワード
   ▼if.iserror さん:

みなさんがおっしゃる通りfor〜next文のを使った方がいいかと思います。

>しかし、全くの初心者のため、
>宿題として出された
>if公式の練習として1-10を(1.1)〜(10.1)のセルに埋め
>最後1-10をsumする方法が思いつきません。

スマホから書いてるので動作検証していませんがだいたい次のようになるはずです。

**********************

Sub test '起動するマクロの名前

  Dim i As Integer 'ループするための変数
  Dim Sum As Integer '合計値を格納するための変数

  For i = 1 to 10 'iが1から10になるまで以下を繰り返す(1周毎にiは1増える)
   Cells(i, 1).Value = i 'セル(i, 10)にiを記入する
   Sum = Sum + i 'Sumに毎回の合計を足していく
  Next 'for文の繰返しここまでの意

  Cells(11, 10).Value = Sum 'セル(11, 10)に上記の合計を記入する

End Sub 'マクロ"test"の終了

*********************

個人的にははじめに参考書で専門用語さえ覚えれば、あとはネットでなんとかなると思います(専門用語を知らないと検索さえできないので)。

マクロが組めれば効率が格段にアップするので是非この機会に勉強してみてください。

787 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free