|
こんにちは。かみちゃん です。
横から失礼します。
>”データの関連付け(添え字を)をテーブル化”について全く分からないので具体的に教えて頂きたい
どこまで理解できるかわかりませんが、たとえば、以下のような感じです。
一部分だけ、テーブル化しています。
もちろん、他の部分もできますが、そこは、自分で工夫してください。
ただし、失礼ながら「マクロ初心者」の方には、敷居が高いような気がします。
もちろん、配列は、勉強する価値がありますので、ぜひモノにしていただきたい
のですが、徐々にステップアップされたほうがいいと思います。
Sub Sample()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim lngRow As Long
Dim arry As Variant
Dim i As Integer
arry = Array(Array(6, 7, 2, 11, 16, 17, 19, 12, 13, 15, 8, 9, 10), _
Array(2, 3, 14, 26, 29, 39, 31, 32, 33, 34, 36, 39, 42))
Set ws1 = Sheets("一覧")
Set ws2 = Sheets("印刷")
With ws1
'照会データ
.Cells(1, 4).Value = ws2.Cells(6, 4).Value
.Cells(43, 5).Value = ws2.Cells(6, 5).Value
.Cells(43, 8).Value = ws2.Cells(6, 6).Value
.Cells(1, 15).Value = ws2.Cells(6, 8).Value
.Cells(44, 6).Value = ws2.Cells(6, 9).Value
.Cells(1, 10).Value = ws2.Cells(6, 10).Value
.Cells(2, 18).Value = ws2.Cells(6, 28).Value
.Cells(2, 16).Value = ws2.Cells(6, 28).Value
.Cells(1, 8).Value = ws2.Cells(6, 41).Value
For lngRow = 6 To 15
For i = 0 To UBound(arry(0))
.Cells(lngRow * 2 - 9, arry(0)(i)).Value = ws2.Cells(lngRow, arry(1)(i)).Value
Next
.Cells(lngRow * 2 - 8, 8).Value = ws2.Cells(lngRow, 38).Value
.Cells(lngRow * 2 - 8, 9).Value = ws2.Cells(lngRow, 41).Value
Next
End With
End Sub
なお、テーブル化の部分は、他に書き方がいろいろあると思います。
|
|