以下のマクロをブラッシュアップする方法をご教示いただきたいです。

Excel | Visual Basic57閲覧xmlns="http://www.w3.org/2000/svg">250

ベストアンサー

0

ThanksImg質問者からのお礼コメント

目からウロコです、処理速度が10倍以上になりました。 とても助かりました、ありがとうございます!

お礼日時:7/30 15:59

その他の回答(2件)

0

>何かスマートに済ませられる方法はあるでしょうか。 セルの文字が一文字だけの入力であるのなら。 セルの文字コードを調べて A~Gなら文字コードを+1、 Hなら文字コードをAの文字コードに。 アスキーコードなら 65がAなので65~71がA~G、Hは72に。 Sub TEST20210730() Dim i As Long i = 5 Cells(i, 4).Select Do While Cells(i, 4) <> "" If Asc(Cells(i - 1, 2)) >= Chr(65) And _ Asc(Cells(i - 1, 2)) <= Chr(71) Then AA = Asc(Cells(i, 2)) + 1 Else If Cells(i - 1, 2) = Chr(72) Then Cells(i, 2) = Chr(65) Else Cells(i, 2) = "" End If End If i = i + 1 Loop End Sub

0

添付のような ことでは ないですか であれば マクロより 関数の方が 簡単です F4:F11に チーム名を入れておきます。 B5に=IF(D5="","",INDEX(F$4:F$11,MOD(COUNTIF(D$4:D5,"*")-1,8)+1)) 以下オートフィル

画像