Sub cal() Dim wN As Double '北 Dim wNNE As Double '北东北 Dim wNE As Double '东北 Dim wENE As Double '东东北 Dim wE As Double '东 Dim wESE As Double '东东南 Dim wSE As Double '东南 Dim wSSE As Double '南东南 Dim wS As Double '南 Dim wSSW As Double '南西南 Dim wSW As Double '西南 Dim wWSW As Double '西西南 Dim wW As Double '西 Dim wWNW As Double '西西北 Dim wNW As Double '西北 Dim wNNW As Double '北西北 Dim vN As Double '北 Dim vNNE As Double '北东北 Dim vNE As Double '东北 Dim vENE As Double '东东北 Dim vE As Double '东 Dim vESE As Double '东东南 Dim vSE As Double '东南 Dim vSSE As Double '南东南 Dim vS As Double '南 Dim vSSW As Double '南西南 Dim vSW As Double '西南 Dim vWSW As Double '西西南 Dim vW As Double '西 Dim vWNW As Double '西西北 Dim vNW As Double '西北 Dim vNNW As Double '北西北 Dim num As Integer '1-12 Dim i As Integer '6-66 Dim j As Integer '3-26 Dim nameid As Integer '1-15 For num = 1 To Sheets.Count For i = 6 To 66 Step 2 For j = 3 To 26 If Sheets(num).Cells(i, j) <> "" Then If Sheets(num).Cells(i, j) > 348.76 Or Sheets(num).Cells(i, j) < 11.25 Then If Sheets(num).Cells(i + 1, j) > 5# Then wN = wN + 1 vN = vN + Sheets(num).Cells(i + 1, j) End If ElseIf Sheets(num).Cells(i, j) > 11.26 And Sheets(num).Cells(i, j) < 33.75 Then If Sheets(num).Cells(i + 1, j) > 5# Then wNNE = wNNE + 1 vNNE = vNNE + Sheets(num).Cells(i + 1, j) End If ElseIf Sheets(num).Cells(i, j) > 33.76 And Sheets(num).Cells(i, j) < 56.25 Then If Sheets(num).Cells(i + 1, j) > 5# Then wNE = wNE + 1 vNE = vNE + Sheets(num).Cells(i + 1, j) End If ElseIf Sheets(num).Cells(i, j) > 56.26 And Sheets(num).Cells(i, j) < 78.75 Then If Sheets(num).Cells(i + 1, j) > 5# Then wENE = wENE + 1 vENE = vENE + Sheets(num).Cells(i + 1, j) End If ElseIf Sheets(num).Cells(i, j) > 78.76 And Sheets(num).Cells(i, j) < 101.25 Then If Sheets(num).Cells(i + 1, j) > 5# Then wE = wE + 1 vE = vE + Sheets(num).Cells(i + 1, j) End If ElseIf Sheets(num).Cells(i, j) > 101.26 And Sheets(num).Cells(i, j) < 123.75 Then If Sheets(num).Cells(i + 1, j) > 5# Then wESE = wESE + 1 vESE = vESE + Sheets(num).Cells(i + 1, j) End If ElseIf Sheets(num).Cells(i, j) > 123.76 And Sheets(num).Cells(i, j) < 146.25 Then If Sheets(num).Cells(i + 1, j) > 5# Then wSE = wSE + 1 vSE = vSE + Sheets(num).Cells(i + 1, j) End If ElseIf Sheets(num).Cells(i, j) > 146.26 And Sheets(num).Cells(i, j) < 168.75 Then If Sheets(num).Cells(i + 1, j) > 5# Then wSSE = wSSE + 1 vSSE = vSSE + Sheets(num).Cells(i + 1, j) End If ElseIf Sheets(num).Cells(i, j) > 168.76 And Sheets(num).Cells(i, j) < 191.25 Then If Sheets(num).Cells(i + 1, j) > 5# Then wS = wS + 1 vS = vS + Sheets(num).Cells(i + 1, j) End If ElseIf Sheets(num).Cells(i, j) > 191.26 And Sheets(num).Cells(i, j) < 213.75 Then If Sheets(num).Cells(i + 1, j) > 5# Then wSSW = wSSW + 1 vSSW = vSSW + Sheets(num).Cells(i + 1, j) End If ElseIf Sheets(num).Cells(i, j) > 213.76 And Sheets(num).Cells(i, j) < 236.25 Then If Sheets(num).Cells(i + 1, j) > 5# Then wSW = wSW + 1 vSW = vSW + Sheets(num).Cells(i + 1, j) End If ElseIf Sheets(num).Cells(i, j) > 236.26 And Sheets(num).Cells(i, j) < 258.75 Then If Sheets(num).Cells(i + 1, j) > 5# Then wWSW = wWSW + 1 vWSW = vWSW + Sheets(num).Cells(i + 1, j) End If ElseIf Sheets(num).Cells(i, j) > 258.76 And Sheets(num).Cells(i, j) < 281.25 Then If Sheets(num).Cells(i + 1, j) > 5# Then wW = wW + 1 vW = vW + Sheets(num).Cells(i + 1, j) End If ElseIf Sheets(num).Cells(i, j) > 281.26 And Sheets(num).Cells(i, j) < 303.75 Then If Sheets(num).Cells(i + 1, j) > 5# Then wWNW = wWNW + 1 vWNW = vWNW + Sheets(num).Cells(i + 1, j) End If ElseIf Sheets(num).Cells(i, j) > 303.76 And Sheets(num).Cells(i, j) < 326.25 Then If Sheets(num).Cells(i + 1, j) > 5# Then wNW = wNW + 1 vNW = vNW + Sheets(num).Cells(i + 1, j) End If ElseIf Sheets(num).Cells(i, j) > 326.26 And Sheets(num).Cells(i, j) < 348.75 Then If Sheets(num).Cells(i + 1, j) > 5# Then wNNW = wNNW + 1 vNNW = vNNW + Sheets(num).Cells(i + 1, j) End If End If End If Next j Next i '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Dim filename As String filename = "" For nameid = 1 To 15 filename = filename & Sheets(num).Cells(4, nameid) Next nameid ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Dim sFile As Object, FSO As Object Set FSO = CreateObject("Scripting.FileSystemObject") Set sFile = FSO.CreateTextFile("C:\" & filename & ".txt", True) sFile.WriteLine ("wN" & vbTab & wN) sFile.WriteLine ("wNNE" & vbTab & wNNE) sFile.WriteLine ("wNE" & vbTab & wNE) sFile.WriteLine ("wENE" & vbTab & wENE) sFile.WriteLine ("wE" & vbTab & wE) sFile.WriteLine ("wESE" & vbTab & wESE) sFile.WriteLine ("wSE" & vbTab & wSE) sFile.WriteLine ("wSSE" & vbTab & wSSE) sFile.WriteLine ("wS" & vbTab & wS) sFile.WriteLine ("wSSW" & vbTab & wSSW) sFile.WriteLine ("wSW" & vbTab & wSW) sFile.WriteLine ("wWSW" & vbTab & wWSW) sFile.WriteLine ("wW" & vbTab & wW) sFile.WriteLine ("wWNW" & vbTab & wWNW) sFile.WriteLine ("wNW" & vbTab & wNW) sFile.WriteLine ("wNNW" & vbTab & wNNW) '''''''''''''''''''''''''''''''''' sFile.WriteLine ("vN" & vbTab & vN) sFile.WriteLine ("vNNE" & vbTab & vNNE) sFile.WriteLine ("wNE" & vbTab & wNE) sFile.WriteLine ("vENE" & vbTab & vENE) sFile.WriteLine ("vE" & vbTab & vE) sFile.WriteLine ("vESE" & vbTab & vESE) sFile.WriteLine ("vSE" & vbTab & vSE) sFile.WriteLine ("vSSE" & vbTab & vSSE) sFile.WriteLine ("vS" & vbTab & vS) sFile.WriteLine ("vSSW" & vbTab & vSSW) sFile.WriteLine ("vSW" & vbTab & vSW) sFile.WriteLine ("vWSW" & vbTab & vWSW) sFile.WriteLine ("vW" & vbTab & vW) sFile.WriteLine ("vWNW" & vbTab & vWNW) sFile.WriteLine ("vNW" & vbTab & vNW) sFile.WriteLine ("vNNW" & vbTab & vNNW) sFile.Close Set sFile = Nothing Set FSO = Nothing Next num MsgBox "计算完成" End Sub