データの構造化
Public Type SyainData 'Dataの構造体(ユーザー定義型)を宣言
Id As Long
Name As String
Kinzoku As Long
Syozoku As String
Yakusyoku As String
End Type
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Public Sub test()
Dim i As Long
Dim WrkSyainData() As SyainData
If GetSyainData(WrkSyainData()) Then
For i = 1 To UBound(WrkSyainData)
If WrkSyainData(i).Id = Range("syain_id") Then
Call SetSyainData(WrkSyainData(i))
Exit For
End If
Range("hyoji_all").ClearContents '---- 範囲 hyoji_all をclear
Next i
Else
MsgBox "SyainMSTに不正なデータがあるため処理を中断しました", vbCritical
End If
End Sub
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Private Function GetSyainData(ByRef pWrkSyainData() As SyainData) As Boolean
Dim i As Long
Dim WrkRange As Variant
On Error GoTo ErrGyo
WrkRange = Sheets("SyainMST").UsedRange
ReDim pWrkSyainData(UBound(WrkRange))
For i = 2 To UBound(WrkRange)
pWrkSyainData(i).Id = WrkRange(i, 1)
pWrkSyainData(i).Name = WrkRange(i, 2)
pWrkSyainData(i).Kinzoku = WrkRange(i, 3)
pWrkSyainData(i).Syozoku = WrkRange(i, 4)
pWrkSyainData(i).Yakusyoku = WrkRange(i, 5)
Next i
GetSyainData = True
Exit Function
ErrGyo:
GetSyainData = False
End Function
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Public Function SetSyainData(ByRef pWrkSyainData As SyainData)
Range("syain_id").Offset(1, 0) = pWrkSyainData.Name
Range("syain_id").Offset(2, 0) = pWrkSyainData.Kinzoku
Range("syain_id").Offset(3, 0) = pWrkSyainData.Syozoku
Range("syain_id").Offset(4, 0) = pWrkSyainData.Yakusyoku
End Function
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-