[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ワークシート名の部分一致(VBA)』(うまうま)
毎々お世話になります。
ワークシート名の最後が「成績」で終わるシートに対して、
C列(筆記)とD列(実技)の値がどちらも80点以上の場合、
E列(評価)に「優」と表示させたいです。
以下のようにしてみましたが、マクロが止まりません。
シート、データともにせいぜい10個くらいなのですが、
どのように修正したらよいのか添削をお願いできませんでしょうか。
Sub 成績評価_全クラス()
Dim i As Long Dim n As Long For n = 1 To Worksheets.Count For i = 4 To Worksheets(n).Range("C4").End(xlDown).Row
If Right(Worksheets(n).Name, 2) = "成績" And Worksheets(n).Cells(i, 3) >= 80 And Worksheets(n).Cells(i, 4) >= 80 Then Worksheets(n).Cells(i, 5) = "優"
ElseIf Worksheets(n).Cells(i, 3) < 80 And Worksheets(n).Cells(i, 4) < 80 Then Worksheets(n).Cells(i, 5) = "" End If Next Next
End Sub
< 使用 Excel:Excel2019、使用 OS:Windows10 >
ホントはマクロが止まらない原因の方を探るべきなんでしょうけど、とりあえずは > For i = 4 To Worksheets(n).Range("C4").End(xlDown).Row の下に↓の様なループ脱出措置を入れておくとか If i > Worksheets(n).Cells.SpecialCells(xlCellTypeLastCell).Row Then Exit For
(白茶) 2023/06/15(木) 11:17:18
https://www.excelspeedup.com/vbadebug/
(tkit) 2023/06/15(木) 11:18:32
それこそシート名の最後が成績の時だけ >For i = 4 To Worksheets(n).Range("C4").End(xlDown).Row 以降を実行しては? (ねむねむ) 2023/06/15(木) 11:36:50
提示のマクロは、ほぼ出来ていると思うのですが
うまうま先生〜 もしだけど 優、良、可、不可 とか必要になったら どうするのかな? いらないのかな?
その書き方だと、何か辛いな〜と私は個人的に 思います。
動けば、先生の好きなように書くのが一番ですが^^; サンプルマクロを試すならBOOKを複製してください。
Sub 成績評価_Sample()
Dim ws As Worksheet Dim i As Long, LastR As Long
For Each ws In ThisWorkbook.Sheets If Right(ws.Name, 2) = "成績" Then With ws LastR = .Cells(.Rows.Count, 3).End(xlUp).Row For i = 4 To LastR Select Case True Case .Cells(i, 3) >= 80 And .Cells(i, 4) >= 80 .Cells(i, 5) = "優" Case Else .Cells(i, 5) = "" End Select Next i End With End If Next
End Sub
※ちゃんと、動作しなかったらごめんね。(o_ _)o [退場] λ…………トボトボ (あみな) 2023/06/15(木) 12:29:12
うまうま先生〜忘れ物しました。^^;
処理速度が遅く気になるようでしたら Application.ScreenUpdating をいれてくださいね。
参考URL http://officetanaka.net/excel/vba/speed/s1.htm (あみな) 2023/06/15(木) 12:40:52
通信教育の提出物で困っているところでした。
SpecialCells(xlCellTypeLastCell) や、Case をレッスンで習わなかったので
初心者For&Ifレベルでも出来るのかと思っておりました。
奥深しVBA、そして、なぜいきなりむずいんだ通信教育。
デバッグ含め、しばし復習に励みます。
頭から煙出てます。
(うまうま) 2023/06/15(木) 14:09:13
゚+.(・∀・)◞♡ ⁾⁾.+゚。oO( アイスノン、あげるよォ)
因みに、通信教育で習ってないのに Select Case 文で 宿題を提出して怒られても…私は、知りませんよォ。
(σ・∀・。)まぁ良いか…ネットで調べましたにしとけば
ところでデバッグ作業は、ちゃんとできましたかぁ? 頑張ってねェー(*p'∀'q)ふぁいち♪
[ バイバーイ (*´︶`*)ノ "マタネー♪] λ…………トボトボ (あみな) 2023/06/16(金) 14:22:59
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.