エクセルのVBAコードにつてい
以下のコードについて、その内容をまだ自分の知識では理解できず困っておりまして、アドバイスいただければと思いまして書き込みました。
『コード』
Sub Test()
Dim Lc As Integer
Dim Ct As Integer
Dim MyR As Range
Dim C As Range
Dim D As Range
Lc = Range("A1").End(xlToRight).Column - 2
For Each C In Range("B2", Range("B65536").End(xlUp))
Ct = WorksheetFunction.Count(C.Offset(, 1).Resize(, Lc))
If Ct > 0 Then
Set MyR = C.Offset(, 1).Resize(, Lc).SpecialCells(2, 1)
For Each D In MyR
With Sheets("Sheet2").Range("A65536").End(xlUp)
.Offset(1).Value = C.Value
.Offset(1, 1).Value = Cells(1, D.Column).Value
End With
Next
Set MyR = Nothing
End If
Next
With Sheets("Sheet2")
.Columns("A:B").AutoFit
.Activate
End With
End Sub
『質問』
1.「Lc = Range("A1").End(xlToRight).Column - 2」の部分の解釈は「A1から右方向に一番最後のセルまでを範囲指定し、その一番右のセルの列番号を取得する」変数という解釈でいいのか
2.「Ct = WorksheetFunction.Count(C.Offset(, 1).Resize(, Lc))」の部分の変数はどういった値の整数を取得する変数なのか
以上2点についてアドバイスいただけると幸いです。
お礼
ありがとうございます。 今エクセルを操作しない環境にあるため、回答頂いた内容をまだ確認出来てません。 しかしこのままズルズル放置するのも失礼ですので、まずは御礼まで。