見出し画像

⚫Excel Excelで複数シートのセル位置をA1(左上)に一括で移動させる

Excelが複数のシートにまたがる場合、シートの選択セルの位置がバラバラだったり、複数セルを選択してた場合などいちいち一度他の場所をクリックするのが面倒です。マクロを使ってすべてのシートをA1セル選択にする方法を書き残します。整理整頓は大事。気分良く仕事を始めるためのTips


Excelの解釈を大きく逸脱した方法と思いますので使う方は要注意です。とくにA1に関数が入っている場合は関数が消えますのでダミーデータで試してみてください。


1.マクロを表示する

Office365のExcelを使用していますが、初期設定ではマクロは非表示になっているようです。

画像1

まずExcelの設定でマクロを使えるようにします。左上の「ファイル」より「その他」の「オプション」

画像2

画像4

「表示」と「ヘルプ」の間に「開発」が入ると成功です。

画像4


2.Visual Basicにコードをコピペ

「開発」をおして「Visual Basic」を押すと別のWindowがでます。

画像5

3の部分で右クリック、「挿入」から「標準モジュールを選びます。

画像6

コードを書く場所が出ますので、下のコードをコピペします。

画像7

Sub 数式を値に変換_ブック全体()
   
   Dim num As Integer
   
   '数式を値に変換_ブック全シート対象
   For num = 1 To Sheets.Count
   
       'シート選択
       Sheets(num).Select
       
       'レンジ選択
       Sheets(num).Range("A1").Select

       'コピー
       Selection.Copy
  
       '数式を値に変換
       Selection.PasteSpecial Paste:=xlPasteValues

   Next
   
End Sub

画像8

これでマクロを実行すると

画像9

とか

画像10

とかなっていた状態をすべてのシートで

画像11

A1位置に移動できます。


一番右のシートになりますのでシーt-が多いい場合、再右のブックを移動またはコピーでコピーするとSheet1の右まで戻れるでしょう。


3.あまりにも乱暴

もともとは、Excelの関数を値に置き換えたいということが目的でした。関数が多くなるとExcelが重くなるため簡素化したい。その延長線上での間違ってる?使い方です。

A1セルをA1セルに値上書きすることを各シートで行うため、結果的にセルの場所がA1に残るということでした。


Excel名人からはふざけるな!とお叱りを受けそうな変化球ですが、結果オーライの根性爺なので、やりたい事はできました。


ちなみに、レンジ選択の部分を関数を串刺して消したい場所に設定すると、指定場所の関数だけ値化されます。


4.まとめ

誰のために書いてるのかわからない・・・、あ、自分のためか。


参考サイト


この記事が気に入ったらサポートをしてみませんか?