思考酒後

自分に入ってきた情報を定着、深化するために文章化

MENU

個人的によく使うコードのメモ【Excelマクロ】


 こんにちは、masaです。

 嫁の仕事を手伝う一貫でマクロを作ってるときに、「前使ったことあるコードなのにネットでいちいち調べてイライラする」となったので、よく使うコードをここにメモしておこうと思います。

  

 

f:id:masa_mn:20201010145150j:plain

1.任意の行を削除する。

’2行から5行までを削除する

Range(Cells(2, 1), Cells(5, 1)).EntireRow.Delete

 

 Rows("7:7").Selectを派生させて任意の行を削除させようとするときに"7:7"の部分にiとか文字を入れれなくて困るので、指定の範囲を一括で削除できるようにメモを残します。単純なのに調べて作るのが怠かった。

 

2.最深部(最下部)のデータ位置を取得

’C列にある一番下(最深部・最下部)のデータの位置を取得【行数(a)を取得】

a=Cells(Rows.Count, 3).End(xlUp).Row

 

 忘れたころに使うし、結構使える。メモしておこう。

 

 

3.指定した行で未入力のセルがあればその行を削除する。

’100行目から1行目に遡る形で処理してる。

For i = 1 To 99
Cells(100 - i, 1).Select
If Cells(100 - i, 1) = "" Then
Rows(100 - i).Delete
End If

 

 汎用性高いし、思い出してコード書き直すの怠いのでメモ。

 

4.グラフ上にある線の数を取得

’グラフ上にある線の数を取得

a = ActiveChart.FullSeriesCollection.Count

 

  業務上でグラフを扱うことが多いし、グラフ扱うときってマクロの記録を活用・変形してなんともならないことが多い印象あるから、メモ。

 

5.シート上にあるグラフを選択する。

’選択したシートにあるグラフを選択する

ActiveSheet.ChartObjects.Select

 

  グラフを選択することも自動化できる。そのシートにあるすべてのグラフが選択されるので使用方法に注意。

 

6.シートの数を取得

’シートの数を取得する。

Worksheets.Count 

 地味に使えるし、コードが超簡単。

 

7.一番右のシートを選択

’シートの数を取得する。

Worksheets(Worksheets.Count).Select

 

8.シート名を取得

’シート名を取得する。

ActiveSheet.Name

 

9.シート名を変更する

’現在選択しているのシート名を変更する。

ActiveSheet.Name = シート名

 

10.一番右側にシートを追加する

  Sheets.Add After:=Sheets(Sheets.Count)

 

11.左からi番目のシートを選択

’左からi番目のシートを選択する。

Sheets(i).Select

 

12.セルの内容を配列として記憶する。

’B2から下にある10個分のセルを配列SheetName()として記憶する。

Dim SheetName(10000) As Variant

 

For i = 1 To 10
SheetName(i) = Cells(i + 1, 2)
Next i

 

 

おわりに

 些細なことでもメモして、同じことを調べるっていう苦痛を味わうことのないようにしたい。