【Excel VBA】シート名をセルに入れてWorksheetをSetすると出るエラー(型が違います)

セルにワークシート名を明記しておき、後からそれを参照してワークシートをSetする場合、下記のように書いていました。

Excel VBA
Dim ws as Worksheet


Set ws = Worksheet(sheet1.cells(2,1))

しかし、この通り実行すると「型が違います」とエラーが出ます。

今日はこれのおかげで1時間ほどいろいろなサイトを調べまくったり、コードを変更して別の方法でSetしようと考えましたが、ようやくたどり着いた答えはとても簡単な方法でした。

Excel VBA

Set ws = Worksheet(sheet1.cells(2,1).Value)

ただValueを付けただけで解決しました!

もしくはセルの値を直接Setするのではなく、変数に入れればすぐに解決するとのこと。

今後は忘れないようにしたいと思います…

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA