VBAの基本!値を移す【.Value = .Value】

Excel・VBA・AI活用
スポンサーリンク
スポンサーリンク

 VBAを学び始めたあなたが最初にぶつかる壁、それは「セルのデータをどうやって別のセルに移すか」ですよね。コピー&ペーストも良いですが、実はもっと速くてスマートな方法があるんです。

 今回は、最も基本となる「値を移す方法の1つ目」として、「.Value = .Value」という魔法の書き方を、あなたに向けて丁寧に解説します。

 VBAで最初に学ぶといってもいい内容です。VBAのコード組み立ての基本の考えも学べます。ぜひ読んでいってね!

この記事の執筆はGeminiPROを用いて執筆しています。


1. 魔法の合言葉「.Value = .Value」でできること

一言でいうと、「余計なものを一切持たず、中身のデータだけを瞬間移動させる」方法です。

 Excelのセルには、数字や文字といった「中身」のほかに、背景の色や枠線といった「見た目」の情報も詰まっています。この「.Value = .Value」を使えば、色や形はそのままに、中身の数字だけをサッと書き換えることができるんです。


2. 基本の書き方:右から左へ流れる!

 VBAでは「=(イコール)」は「等しい」という意味ではなく、「右側の内容を、左側に入れる」という合図です。

とても重要の見方です!これだけでもいいので覚えて帰って下さい!

移したい先.Value = 元データ.Value

【例題】A1セルの数字を、B1セルに移してみよう

 あなたがVBAの画面にこう書いたとします。

Range("B1").Value = Range("A1").Value

 これを実行すると、A1セルに書いてある「100」という数字が、B1セルにパッと現れます。 もしA1セルが「赤色で太文字」だったとしても、移るのは「100」という数字だけ。B1セルの見た目は変わりません。


スポンサーリンク

3. なぜ「コピー」より先にこれを覚えるの?

 あなたがこの方法を一番最初に覚えるべき理由は、**「一番速くて、一番ミスが起きにくいから」**です。

  1. パソコンが疲れない: 「コピーして、貼り付け場所を探して、貼り付ける」という手順を飛ばして、直接中身を書き換えるので、大量のデータを扱うときに圧倒的に速いです
  2. クリップボードを汚さない: 普段あなたが「Ctrl + C」でコピーしている場所を汚さないので、マクロを動かしている最中に他の作業をしても影響が出ません。
  3. 見た目が崩れない: 「せっかくきれいに作った表の色が、コピペでぐちゃぐちゃになった……」という悲劇を防げます。

4. 使うための準備

  • 必要なExcelバージョン: すべてのバージョン(Excel 97から最新のMicrosoft 365までOK!)
  • 先に覚えておくこと: 特にありません!「セルの場所(Range)」の書き方さえ知っていれば、今日からあなたの武器になります。

コメント

タイトルとURLをコピーしました