Board logo

標題: 取DATA尋問,,改不出來 [打印本頁]

作者: tomking    時間: 2011-4-26 19:23     標題: 取DATA尋問,,改不出來

DATA:   
文字檔,內容DATA 不一樣.
DATA 1:   a b c d 456
               efg

data 2   a b c d  678
             a b c d 234
            efg
目的: 將DATA 1:   456+234  置於O1
           DATA 2:    678+234+777  置於O2
           PS: 有時,:a B C D  很多行, 結束,都是efg...


狀態:
1. iF .END .寫不出來.  總是出現ENDIF...
2. n=n1+n2.  無法加總...
            

  Dim lngCurrRow As Long
    Set objFolder = fso.GetFolder(ThisWorkbook.Path)
    lngCurrRow = 0

    For Each objFile In objFolder.Files
       If Left(objFile.Name, 1) = "G" Then
           Set wbCurr = Application.Workbooks.Open(Filename:=objFile.Path)
            If wbCurr.Sheets(1).[A1] <> "" Then
            
                textline1 = wbCurr.Sheets(1).[A12]
                 n1 = Split(textline1, " ")(4)
                    textline2 = wbCurr.Sheets(1).[A13]
            ?     IF MID(TEXTLINE2,1,1)="a" then n2 = Split(textline2, " ")(4)
            ?          textline3 = wbCurr.Sheets(1).[A14]
                    END
            ?
            ?     IF MID(TEXTLINE3,1,1)="a" then n3 = Split(textline3, " ")(4)
            ?      END
                              
          ?      n = n1+ n2+n3
                ThisWorkbook.Sheets("List").[o1].Offset(lngCurrRow) = n
               
              
                       
                                                                                
                                                               
                lngCurrRow = lngCurrRow + 1
            End If
            wbCurr.Close (False)
        End If
        Set wbCurr = Nothing
    Next
作者: luhpro    時間: 2011-4-28 21:34

本帖最後由 luhpro 於 2011-4-28 21:41 編輯

Excel VBA 用的語法是 VB 的, 它表現在 if ... then  ... end 迴圈的方式,
一般來說有兩種 :
1.
  If   條件式  Then  左方條件為真時執行此
    (本 If 條件式 {全部} 都只能寫在同一行且到此為止, 後面不可再加 End If)   
  
2.
If  條件式  Then
       上述條件為真時執行此
Else(If   條件式   Then)
       上述條件為真時執行此
  (Else)
      上述條件為偽時執行此
  End If
你的程式不能執行可能就是因為語法不對, 後面對不上所以出現錯誤.

另若對某一個指令語法不熟悉,
可以 Mark 該指令後按 F1 按鍵取得該指令的說明, (本例中只要 Mark   If   兩個字後按 F1 即可看到說明)
其中的範例大都可以直接 Copy 過來修改成自己要的程式碼.




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)