|
以下の、マクロを書いたのですが、いろいろなところで、「ユーザー定義型は定義されていません」と表示されてしまい、そもそもかいたものがちゃんと動くかどうかも検証できません。
全くの初心者ゆえこのような漠然とした質問が許されるとも思ってはおりませんが、まったくどうしたらいいかわからず、幼稚な質問をあげることお許しください。
アドバイスをいただければ幸いです。よろしくお願いします。
Sub makingcollection()
'【格納パート】
'とりあえず全てのシートの注文番号がついているものを配列に、
'注文内容、取引先、納期、金額の順に格納する
Dim vList() As String
Dim c As Long
Dim d As Long
Dim m As Long
Dim ws As worksheeet
Dim chck As String
c = 0
For Each ws In Worksheet
m = ws.Range("B65536").End(xlUp).Value
For d = 16 To m
ws.Range("b" & d).Value = chck
If chck <> "" And Left(chck, 1) <> "(" Then '空白かカッコで始まる場合無視
ReDim Preserve st(c)
vList(0, c) = ws.Range("B" & d).Value
vList(1, c) = ws.Range("C" & d).Value
vList(2, c) = ws.Range("D" & d).Value
vList(3, c) = ws.Range("E" & d).Value
vList(4, c) = ws.Range("G" & d).Value
c = c + 1
End If
Next
Next
'【出力パート】
'フォーマットつくり
Worksheets.Add.Name = "総括"
Range("A1").Value = "注文番号"
Range("B1").Value = "注文内容"
Range("C1").Value = "取引先名称"
Range("D1").Value = "納期"
Range("E1").Value = "発注金額"
'出力
Dim cx As Long
For cx = LBound(st, 2) To UBound(st, 2)
Range("A" & cx + 1).Value = vList(0, cx)
Range("B" & cx + 1).Value = vList(1, cx)
Range("C" & cx + 1).Value = vList(2, cx)
Range("D" & cx + 1).Value = vList(3, cx)
Range("E" & cx + 1).Value = vList(4, cx)
Next
End Sub
|
|