• excel vba 玫瑰图 风速 风向


    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
    
  • 相关阅读:
    【进阶3-5期】深度解析 new 原理及模拟实现(转)
    ios 手机端 input 框上方有内阴影
    手机端上点击input框软键盘出现时把input框不被覆盖,显示在屏幕中间(转)
    xampp 搭建好本地服务器以后手机无法访问
    【进阶3-4期】深度解析bind原理、使用场景及模拟实现(转)
    阿里云播放器
    flex下部固定高,上部不固定,而且超过内容要滚动
    Vue项目笔记
    jQuery实现鼠标点击div外的地方div隐藏消失的效果(转)
    android WebView详细使用方法(转)
  • 原文地址:https://www.cnblogs.com/zhangjun1130/p/2012101.html
Copyright © 2020-2023  润新知