プログラム初心者VBA入門ブログ

単純作業を自動化したい!けどプログラミングなんてわかんない!という方向けのVBAレクチャーブログです♪

第19回「新規来訪者チェックシステムを作ろう!④」

前回ではざっくり説明をしました!

が、新しいものがいくつかありましたよね!

それぞれ説明していきますね!

 

① Cells(Rows.Count, 〇).End(xlUp).Row について

For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row

For j = 1 To Cells(Rows.Count, 2).End(xlUp).Row

の部分で出てきたコードです。

 

これは〇列に入力してある一番下のセルの行数を返してくれる

というものです。

下のExcel表を例にしますね!

f:id:vba-business999999:20180708174542p:plain

この場合

Cells(Rows.Count, 1).End(xlUp).Row の値は11となります。

また、

Cells(Rows.Count, 2).End(xlUp).Rowの値は15となります。

いかがでしょうか?なんとなくつかめましたか?

 

 

② 比較文字作成(〇) について

これは

If 比較文字作成(Cells(i + 1, 1)) = 比較文字作成(Cells(j + 1, 2)) Then

の部分で出てきたコードですね。

このコードはFunctionという機能を使うコードなんです。

じつは

Function 比較文字作成(ByVal item As String) As String
  item = StrConv(item, vbNarrow + vbLowerCase)
  item = Replace(item, " ", "")
  比較文字作成 = item
End Function

というコードを書いていたんです。

 

ちなみにこのFunctionのコードの意味は

Function 比較文字作成(ByVal item As String) As String

⇒比較文字作成というFunctionを作ります
  item = StrConv(item, vbNarrow + vbLowerCase)

  ⇒itemを全て半角(vbNarrow)かつ小文字(vbLowerCase)に変換してね
  item = Replace(item, " ", "")

  ⇒itemの中にスペースがあったらスペースを無くしてね
  比較文字作成 = item

  ⇒この変換後のitemを比較文字作成の結果としてね
End Function

 

という感じです!

簡単にいうと

1. 半角、小文字、スペースなしに変換する「比較文字作成()」を作成しておく

2. 比較文字(Cells(i + 1, 1))とすることでi+1行1列目の文字を

    半角、小文字、スペースなしに変換する

という感じです。

 

③Call 〇〇について

Call 黄色が上

の部分で出てきましたね!

 

これは

「Sub 黄色が上」というプログラムを実行して!

という意味です。

ちなみに「Sub 黄色が上」というプログラムは以下のようになっています。

Sub 黄色が上()
  Range("A2:A56").Select
  ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
  ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add(Range("A2:A56"), _
  xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color = RGB(255, 255, 0)
  With ActiveWorkbook.Worksheets("Sheet1").Sort
    .SetRange Range("A2:A56")
    .Header = xlGuess
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
  End With
  Range("A1").Select
End Sub

いつもなら意味を説明するのですが今回はしません!

その理由はまた今度しますね!

ちらっとこれは「マクロを記録する」という機能を使ったもので

つのかぼちゃが書いたものでなく

つのかぼちゃ's PCが書いたものなんです。

なんて優秀なんだ!

つのかぼちゃ's PC!!

ただこの「マクロを記録する」という機能、

そのまま使えることはほとんどありません。

その理由も今度まとめて説明しますね!

 

では今回はこんな感じで終わります!

おつかれさまでした!