|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
- '***************************************************************************
- 'http://club.excelhome.net/thread-1513039-1-1.html
- '***************************************************************************
- Sub 生成内容()
- Dim gwId$ '怪物ID
- Dim faBh$ '方案编号
- Dim gwLx$ '怪物类型
- Dim BcNum$ '波次
- Dim gdNum$ '固定值
- gdNum = "2"
- Dim gwJy$ '怪物经验
- Dim xgjzSum% '小怪近战数量
- Dim xgycSum% '小怪远程数量
- Dim xgjySum% ' 小怪精英数量
- Dim gwDic As Object '怪物类型编号
- Dim arr1 '临时数组
- Dim gwRow& '方案行数
- Dim scStr$ '生成内容
- Set gwDic = CreateObject("Scripting.Dictionary")
- With Sheet1
- arr1 = .[A11].CurrentRegion.Value
- For i = 2 To UBound(arr1)
- If Trim(arr1(i, 1)) <> "" Then gwDic(Trim(arr1(i, 1))) = arr1(i, 2) '字典集
- Next
- Erase arr1 '清空数组
- gwRow = .Range("A1").End(xlDown).Row
- arr1 = .Range("A2:K" & gwRow)
- For i = 1 To UBound(arr1)
- faBh = arr1(i, 1) '方案编号
- xgjzSum = arr1(i, 6) '小怪近战数量
- xgycSum = arr1(i, 7) '小怪远程数量
- xgjySum = arr1(i, 8) '小怪精英数量
- BcNum = arr1(i, 5) '波次
- '______________________________________________________________________________________________________________________________
- If xgjzSum > 0 Then
- gwId = arr1(i, 9) '怪物ID
- For j = 1 To xgjzSum
- Select Case BcNum
- Case "1"
- If xgjzSum < 10 Then
- scStr = scStr & "{" & gwId & "," & faBh & gwDic(arr1(i, 2)) & "00" & CStr(0 + j) & "," & gdNum & "," & "1" & "}"
- Else
- scStr = scStr & "{" & gwId & "," & faBh & gwDic(arr1(i, 2)) & "0" & CStr(0 + j) & "," & gdNum & "," & "1" & "}"
- End If
- Case "2"
- scStr = scStr & "{" & gwId & "," & faBh & gwDic(arr1(i, 2)) & "0" & CStr(25 + j) & "," & gdNum & "," & "1" & "}"
- Case "3"
- scStr = scStr & "{" & gwId & "," & faBh & gwDic(arr1(i, 2)) & "0" & CStr(50 + j) & "," & gdNum & "," & "1" & "}"
- Case "4"
- If xgjzSum = 25 Then
- scStr = scStr & "{" & gwId & "," & faBh & gwDic(arr1(i, 2)) & "0" & CStr(75 + j) & "," & gdNum & "," & "1" & "}"
- Else
- scStr = scStr & "{" & gwId & "," & faBh & gwDic(arr1(i, 2)) & 75 + CStr(j) & "," & gdNum & "," & "1" & "}"
- End If
- End Select
- Next
- End If
- '______________________________________________________________________________________________________________________________
- '______________________________________________________________________________________________________________________________
- If xgycSum > 0 Then
- gwId = arr1(i, 10) '怪物ID
- For j = 1 To xgycSum
- Select Case BcNum
- Case "1"
- If xgycSum < 10 Then
- scStr = scStr & "{" & gwId & "," & faBh & gwDic(arr1(i, 3)) & "00" & CStr(0 + j) & "," & gdNum & "," & "1" & "}"
- Else
- scStr = scStr & "{" & gwId & "," & faBh & gwDic(arr1(i, 3)) & "0" & CStr(0 + j) & "," & gdNum & "," & "1" & "}"
- End If
- Case "2"
- scStr = scStr & "{" & gwId & "," & faBh & gwDic(arr1(i, 3)) & "0" & CStr(25 + j) & "," & gdNum & "," & "1" & "}"
- Case "3"
- scStr = scStr & "{" & gwId & "," & faBh & gwDic(arr1(i, 3)) & "0" & CStr(50 + j) & "," & gdNum & "," & "1" & "}"
- Case "4"
- If xgycSum = 25 Then
- scStr = scStr & "{" & gwId & "," & faBh & gwDic(arr1(i, 3)) & "0" & CStr(75 + j) & "," & gdNum & "," & "1" & "}"
- Else
- scStr = scStr & "{" & gwId & "," & faBh & gwDic(arr1(i, 3)) & 75 + CStr(j) & "," & gdNum & "," & "1" & "}"
- End If
- End Select
- Next
- End If
- '______________________________________________________________________________________________________________________________
- '______________________________________________________________________________________________________________________________
- If xgjySum > 0 Then
- gwId = arr1(i, 11) '怪物ID
- For j = 1 To xgjySum
- Select Case BcNum
- Case "1"
- If xgjySum < 10 Then
- scStr = scStr & "{" & gwId & "," & faBh & gwDic(arr1(i, 4)) & "00" & CStr(0 + j) & "," & gdNum & "," & "4.5" & "}"
- Else
- scStr = scStr & "{" & gwId & "," & faBh & gwDic(arr1(i, 4)) & "0" & CStr(0 + j) & "," & gdNum & "," & "4.5" & "}"
- End If
- Case "2"
- scStr = scStr & "{" & gwId & "," & faBh & gwDic(arr1(i, 4)) & "0" & CStr(25 + j) & "," & gdNum & "," & "4.5" & "}"
- Case "3"
- scStr = scStr & "{" & gwId & "," & faBh & gwDic(arr1(i, 4)) & "0" & CStr(50 + j) & "," & gdNum & "," & "4.5" & "}"
- Case "4"
- If xgjySum = 25 Then
- scStr = scStr & "{" & gwId & "," & faBh & gwDic(arr1(i, 4)) & "0" & CStr(75 + j) & "," & gdNum & "," & "4.5" & "}"
- Else
- scStr = scStr & "{" & gwId & "," & faBh & gwDic(arr1(i, 4)) & 75 + CStr(j) & "," & gdNum & "," & "4.5" & "}"
- End If
- End Select
- Next
- End If
- '______________________________________________________________________________________________________________________________
- .Cells(i + 1, 12) = scStr
- scStr = ""
- Next
- End With
-
- End Sub
复制代码
|
|