- 締切済み
マクロの実行に時間がかかってしまう
Excel2013です。 E列に従業員名、F列に部署名が入る表でVBAで従業員名が入力されると該当する部署名が表示されるようにしたく以下のようにコード(まだ一人分のIFステートです)を書いたのですが、すごく時間がかかってしまいます。 はじめは、実行にボタン登録したくなかったのでchangeイベントで実行するようにしたのですが、何度やってもExcelが落ちてしまい、今はボタンにマクロを登録させています。落ちることはなくなったのですが、ずっと砂時計です。 勤怠記録なので数十名分(一人二行)で365日の表になるので最終行は2万近くです。 Sub 部署名判断() Dim a As Long Application.ScreenUpdating = False For a = 1 To 16000 '部署名判断 If Cells(a, 5).Value = "従業員A" Then Cells(a, 6) = "総務課" End If Next a Application.ScreenUpdating = True End Sub どういったコードの書き方をすればいいのでしょうか? アドバイス願います。
- みんなの回答 (2)
- 専門家の回答
お礼
ご回答ありがとうございます。 いただいたコードを試してみました。数秒間かかりますが確かに格段に早くなりました。 他のシートの関数も生かしたままマクロを動かしたいのでしばらく、このやり方を採用してみようと思います。 他にもアドバイスのある方がいらっしゃればまだ、投稿は閉じませんので宜しくお願いします。