2013年6月22日土曜日
L search memorandam (4) column_block_judge
chainr matrix の各列の候補の数によって該当する行列に縮小する。
chainc は work area である。
Sub column_block_judge()
Erase chainc
ReDim chainc(z + 1, z + 1)
num = 0
For j = 1 To z
aa = chainr(z + 1, j)
If aa = "" Or aa = 1 Then GoTo contj
If aa <= room Then
num = num + 1
For k = 0 To z + 1
chainc(k, num) = chainr(k, num)
Next k
End If
contj:
Next j
For i = 0 To z + 1
chainc(i, 0) = chainr(i, 0)
Next i
Erase jun, jnn
ReDim jun(z + 1, z + 1), jnn(z + 1, z + 1)
For i = 0 To z + 1
For j = 0 To z + 1
jun(i, j) = chainc(i, j)
Sheets("Sheet8").Cells(6 + i, 40 + j) = jun(i, j)
Next j
Next i
num = 0
For j = 1 To z
If jun(z + 1, j) <> "" Then
num = num + 1
End If
Next j
chainc(z + 1, 0) = num
jun(z + 1, 0) = num
If jun(z + 1, 0) < room Then
Exit Sub
End If
For i = 1 To z
inum = 0
For j = 1 To z
If jun(i, j) <> "" Then
inum = inum + 1
End If
Next j
jun(i, z + 1) = inum
chainc(i, z + 1) = inum
Next i
For i = 0 To z + 1
For j = 0 To z + 1
Sheets("Sheet8").Cells(6 + i, 40 + j) = jun(i, j)
Next j
Next i
flagM = kind & kind1 & room
flagL = ""
room に応じて振り分ける。
Select Case room
Case 2
column_double_ally
Case 3
column_triple_ally
Case 4
column_fourth_ally
Case 5
column_fifth_ally
Case Else
MsgBox ("This case available ! ")
End Select
End Sub
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿