パソコン仕事5倍塾
35,000人を指導した東大卒・元日本IBM社内講師が直伝
MENU
明石 照伸さんの投稿
(投稿ID: 443)
小川 慶一さんのコメント
(コメントID: 1253)
Captcha:
たった1ヶ月で人生が劇的に変わりました
佐藤信さん
役員クラスの方から高い評価を受けるようになりました。
佐賀県 - 岩本徹さん
今までまったく知らなかったショートカットキーを使いまくっています。
東京都 - 鷹觜慶さん
年齢60才間近、営業で外回りの時間が多い私でも退社時間が1-2時間程度早くなりました。
東京都 - 宗内隆明さん
受講前もすでにパソコン得意でしたが、そんな私でも受講して本当に良かったと思えた講座です。
東京都 - 佐伯とも子さん
ここまで包括的に仕事に役立つ深い学びを受けれた講座は初めてでした
東京都 - 飯田倫子さん
2025年06月12日 15:17
2025年06月10日 08:38
2025年06月02日 06:28
2025年06月01日 18:17
2025年05月23日 13:22
2025年06月12日 15:34
2025年06月10日 14:40
2025年06月02日 21:49
2022年02月24日 10:59
表示できる投稿はありません。
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
2022年02月02日 00:00
2022年02月02日 03:00
2022年02月02日 06:00
2022年02月02日 09:00
2022年02月02日 12:00
2025年06月30日 13:30
2025年06月25日 17:30
2025年06月23日 20:45
2025年06月16日 15:45
2025年06月13日 13:15
2025年06月02日 22:50
2025年05月14日 11:55
2025年02月04日 08:51
2025年02月03日 12:58
2024年11月27日 11:48
2025年03月26日 22:33
2025年03月26日 22:12
2025年03月24日 22:28
2025年03月19日 20:10
2025年03月18日 20:52
2025年04月16日 08:30
2025年03月18日 09:07
2025年03月18日 09:06
2025年03月15日 13:23
2025年02月26日 16:37
2025年04月02日 21:01
2025年04月02日 20:47
2025年04月02日 20:37
2025年04月01日 22:03
2025年04月01日 21:27
2025年04月16日 08:32
2025年03月18日 09:10
2025年03月18日 09:09
明石 照伸さんの投稿
(投稿ID: 443)
問題をここまでやらせていただいて
ようやくFor~Nextがわかってきた
ようです。
まず最初考えた回答が、以下のような
ベタベタのコードでした。
---回答(1)ここから---------------------------------------------
Sub shiharai()
Dim kekkon
kekkon = 0
Dim shussan
shussan = 0
Dim seijin
seijin = 0
Dim reizen
reizen = 0
Dim mimai
mimai = 0
Dim jimu
jimu = 0
Dim gyo
For gyo = 4 To 9
If Range("i" & gyo).Value = "結婚祝い" Then
kekkon = kekkon + Range("j" & gyo).Value
ElseIf Range("i" & gyo).Value = "出産祝い" Then
shussan = shussan + Range("j" & gyo).Value
ElseIf Range("i" & gyo).Value = "成人祝い" Then
seijin = seijin + Range("j" & gyo).Value
ElseIf Range("i" & gyo).Value = "御霊前" Then
reizen = reizen + Range("j" & gyo).Value
ElseIf Range("i" & gyo).Value = "お見舞い" Then
mimai = mimai + Range("j" & gyo).Value
Else
jimu = jimu + Range("j" & gyo).Value
End If
Next
Range("d4").Value = kekkon
Range("e4").Value = kekkon + Range("c4").Value
Range("d5").Value = shussan
Range("e5").Value = shussan + Range("c5").Value
Range("d6").Value = seijin
Range("e6").Value = seijin + Range("c6").Value
Range("d7").Value = reizen
Range("e7").Value = reizen + Range("c7").Value
Range("d8").Value = mimai
Range("e8").Value = mimai + Range("c8").Value
Range("d9").Value = jimu
Range("e9").Value = jimu + Range("c9").Value
Dim kongetu
kongetsu = 0
Dim ruikei
ruikei = 0
For gyo = 4 To 9
kongetsu = kongetsu + Range("d" & gyo).Value
ruikei = ruikei + Range("e" & gyo).Value
Next
Range("d10").Value = kongetsu
Range("e10").Value = ruikei
End Sub
---回答(1)ここまで------------------------------------------------
この回答を書いた後で、もっとすっきりまとめられることに
気づき書いたのが以下になります。
---回答(2)ここから------------------------------------------------
Sub shiwake2()
Dim keihi
Dim gyo_hidari
Dim gyo_migi
For gyo_hidari = 4 To 9
keihi = 0
For gyo_migi = 4 To 9
If Range("i" & gyo_migi).Value = Range("b" & gyo_hidari).Value Then
keihi = keihi + Range("j" & gyo_migi).Value
ElseIf Range("h" & gyo_migi).Value = Range("b" & gyo_hidari).Value Then
keihi = keihi + Range("j" & gyo_migi).Value
End If
Next
Range("d" & gyo_hidari).Value = keihi
Range("e" & gyo_hidari).Value = Range("c" & gyo_hidari).Value + Range("d" & gyo_hidari).Value
Range("d10").Value = Range("d10").Value + Range("d" & gyo_hidari).Value
Range("e10").Value = Range("e10").Value + Range("e" & gyo_hidari).Value
Next
End Sub
---回答(2)ここまで------------------------------------------------
この考え方になじんでからは、実務で新旧の表を比較して差分を抽出したり、
といった、今までVLOOKUP関数で行っていたような複数の表にまたがる処理が
マクロでできるようになりました。
一回限りの書き捨てのマクロでデータ整合性チェックをしたり
ができるので相当作業時間を短縮できていると思います。なれると関数より楽に、
かつ、もっと複雑な処理ができますね。もっとマクロを学ぶことで仕事自体が
劇的に変わっていく予感がしています。(^^
小川 慶一さんのコメント
(コメントID: 1253)
> もっとマクロを学ぶことで仕事自体が劇的に変わっていく予感がしています。(^^
そうですよー。じゃなきゃ、こんな手間書けてマクロ教えません。
それだけインパクトのデカい技術です。ぜひ、ますますしっかりとモノにしてください!!