VBA備忘録1:セルの範囲指定、他メソッド等

他にも記述方法あるかもしれませんが、自分が書いてみて、動作結果うまくいったものをとりあえず記載。

 

・セルの範囲指定

【Range、Cellsを組み合わせて指定】

Range("A1", "B9").Select

'cellsを使用した場合、(row,column)の並びになりcolumnは数字での指定になる
Range(Cells(1, 1), Cells(9, 2)).Select

 

【変数を使用する】

’以下、同じセル範囲指定

Range("A" & i, "B" & j).Select

Range(Cells(i, 1), Cells(j, 2)).Select

 

【データが入っている行、列を取得して指定】

 Range(Cells(i, 1), Cells(Cells(Rows.Count, "B").End(xlUp).Row, 2)).Select

  ⇒B列最終データ格納セルの値を取得して指定

 

・メソッド

【形式を選択して貼り付け】

    <PasteSpecial>メソッド:『値』のみ、Skipblanksを有効にして貼り付ける場合

ActiveCell.PasteSpecial Paste:=xlPasteValues, Skipblanks:=True 

  ⇒Skipblanksは書式なども合わせてペーストするときに、データの無い空セルを無視する

 

【ブックのオープン、クローズメソッド】

 <open>メソッド:『読みとり専用』としてファイルを開く場合

Workbooks.Open "C:\Users\user\Documents\testbook.xlsx", ReadOnly:=True

 <close>メソッド:保存せずにブックをクローズする場合

Workbooks("testbook.xlsx").Close Savechanges:=False 

 

【シートを追加する】

 <add>メソッド:[book1]、[Sheets1]の後ろにシートを追加する場合

Workbooks("book1").Sheets.Add after:=Sheets("Sheet1")

  追加したシートの名前を変更したい場合は、下記を続けて記述

 ActiveSheet.Name = "{文字列}"