PR

【ExcelVBA】超簡単なCellsとRangeの解説

記事内に広告が含まれています。

ExcelVBAでセルの中身を操作したいとき

CellsやRangeを使用します。

簡単に言うと、1セルだけを使う場合はCellsを

セルの範囲を使う時はRangeを使います。

スポンサーリンク

セルの中身をメッセージボックスで出す例

例えばA1セルに「2024/5/5_みかん」という文字があります。

A1セルの中身をメッセージボックスで出したい時は

MsgBox Cells(1,1)

と記載します。

Cells(, )を指定します。

Rangeを使用すると

MsgBox Range(“A1”)

と記述します。

Range(セルの範囲)を指定します。

結果は下記のと折りです。

セルの範囲を指定してコピーし、貼り付け

A1からA2までのセルを選択、コピーし

C1セルに貼り付けたい時は次のようになります。

    Range("A1:A2").Copy
    Range("C1").PasteSpecial
    Application.CutCopyMode = False

結果は下記のようになります。

RangeでCellsを使用する例 

RangeでCellsを使用して記述すると下記のようになります。

    Range(Cells(1,1), Cells(2,1)).Copy
    Cells(1,3).PasteSpecial
    Application.CutCopyMode = False

CopyとApplication.CutCopyMode = False

Copyは、クリップボードに値を入れます。

Application.CutCopyMode = False はクリップボードの中身を消します。

クリップボードの中身を消さないと思わぬ誤作動の原因になるので

Copyを使用したら必ずクリップボードの中身を消してください。

Pasteのいろいろな指定

下記にPasteの指定で比較的よく使用するものを記載しました。

特に赤字はよく使用し、緑字もやや使用します。(個人の感想です)

xlPasteAll	        値、枠線、色などすべてを貼り付けます。
xlPasteAllExceptBorders	    枠線以外のすべてを貼り付けます。
xlPasteColumnWidths	    コピーした列の幅を貼り付けます。
xlPasteComments	        コメントを貼り付けます。
xlPasteFormats	        書式を貼り付けます。
xlPasteFormulas	        数式を貼り付けます。
xlPasteFormulasAndNumberFormats	数式と数値の書式を貼り付けます。
xlPasteValidation	    入力規則を貼り付けます。
xlPasteValues	        値を貼り付けます。
xlPasteValuesAndNumberFormats	値と数値の書式を貼り付けます。

Rangeで指定した複数セルの中身はそのままでは出力できない

Rangeで指定した中身はそのままでは使えません。

例を2つあげました。

MsgBox Range("A1:A2")   '---エラーになる
Dim wkSt As String
wkSt = Range("A1:A2")  '---エラーになる

A1とA2の値を出力したい場合はこのように記述します。

MsgBox Cells(1,1)& Cells(2,1)
Dim wkSt As String
wkSt = Cells(1,1)& Cells(2,1)  

結果はこちらになります。

にほんブログ村 小説ブログ ライトノベル(小説)へ にほんブログ村 小説ブログへ にほんブログ村 アニメブログへ にほんブログ村 アニメブログ アニメ情報へ にほんブログ村 漫画ブログへ にほんブログ村 漫画ブログ 漫画備忘録へ
タイトルとURLをコピーしました