返回列表 上一主題 發帖

關於vba指定 匯入文字檔

關於vba指定 匯入文字檔

請問大大們
我有很多分頁
都錄製在同一巨集
但我執行時候要一個個按路徑
但我已經錄好了

請問該怎麼修改呢

Sub 巨集1()
'
' 巨集1 巨集
'

'
   
  
    Sheets("條件0-股號模組").Select
    Range("F6").Select
    With Selection.QueryTable
        .Connection = "TEXT;C:\Users\user\Google 雲端硬碟\L6模組\20140730模組\0股號模組.TXT"
        .TextFilePlatform = 950
        .TextFileStartRow = 1
        .TextFileParseType = xlFixedWidth
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(2, 1, 1, 1, 1, 1, 1, 1)
        .TextFileFixedColumnWidths = Array(6, 8, 10, 10, 10, 10, 11)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
    Sheets("條件1-周模組").Select
    Range("F7").Select
    With Selection.QueryTable
        .Connection = "TEXT;C:\Users\user\Google 雲端硬碟\L6模組\20140730模組\1周模組.TXT"
        .TextFilePlatform = 950
        .TextFileStartRow = 1
        .TextFileParseType = xlFixedWidth
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(2, 1, 1, 1, 1, 1, 1, 1, 1, 1)
        .TextFileFixedColumnWidths = Array(6, 8, 10, 10, 10, 10, 10, 10, 10)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
    Sheets("條件2-日模組").Select
    Range("E11").Select
    With Selection.QueryTable
        .Connection = "TEXT;C:\Users\user\Google 雲端硬碟\L6模組\20140730模組\2日模組.TXT"
        .TextFilePlatform = 950
        .TextFileStartRow = 1
        .TextFileParseType = xlFixedWidth
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(2, 1, 1, 1, 1, 1, 1)
        .TextFileFixedColumnWidths = Array(6, 8, 10, 10, 10, 10)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
    Sheets("條件3-月模組").Select
    Range("E8").Select
    With Selection.QueryTable
        .Connection = "TEXT;C:\Users\user\Google 雲端硬碟\L6模組\20140730模組\3月線模組.TXT"
        .TextFilePlatform = 950
        .TextFileStartRow = 1
        .TextFileParseType = xlFixedWidth
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(2, 1, 1, 1, 1, 1, 1, 1, 1, 1)
        .TextFileFixedColumnWidths = Array(6, 8, 10, 10, 10, 10, 10, 10, 10)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
  
    Sheets("條件4-量架構").Select
    Range("D5").Select
    With Selection.QueryTable
        .Connection = "TEXT;C:\Users\user\Google 雲端硬碟\L6模組\20140730模組\4量模組.txt"
        .TextFilePlatform = 950
        .TextFileStartRow = 1
        .TextFileParseType = xlFixedWidth
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
        1)
        .TextFileFixedColumnWidths = Array(6, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, _
        10, 12, 10, 10, 10, 9, 10)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
   
    Sheets("條件5-其他").Select
    Range("E11").Select
    With Selection.QueryTable
        .Connection = "TEXT;C:\Users\user\Google 雲端硬碟\L6模組\20140730模組\5其他.txt"
        .TextFilePlatform = 950
        .TextFileStartRow = 1
        .TextFileParseType = xlFixedWidth
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
        .TextFileFixedColumnWidths = Array(6, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
   
    Sheets("條件6-均線模組").Select
    Range("E6").Select
    With Selection.QueryTable
        .Connection = "TEXT;C:\Users\user\Google 雲端硬碟\L6模組\20140730模組\6均線模組.txt"
        .TextFilePlatform = 950
        .TextFileStartRow = 1
        .TextFileParseType = xlFixedWidth
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
        .TextFileFixedColumnWidths = Array(6, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
    Sheets("條件7-資0.3模組").Select
    Range("H7").Select
    With Selection.QueryTable
        .Connection = "TEXT;C:\Users\user\Google 雲端硬碟\L6模組\20140730模組\7資03模組.txt"
        .TextFilePlatform = 950
        .TextFileStartRow = 1
        .TextFileParseType = xlFixedWidth
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(2, 1, 1, 1, 1, 1, 1, 1, 1, 1)
        .TextFileFixedColumnWidths = Array(6, 8, 10, 10, 10, 10, 10, 10, 10)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
    Sheets("條件8-跳空模組").Select
    Range("D9").Select
    With Selection.QueryTable
        .Connection = "TEXT;C:\Users\user\Google 雲端硬碟\L6模組\20140730模組\8跳空模組.txt"
        .TextFilePlatform = 950
        .TextFileStartRow = 1
        .TextFileParseType = xlFixedWidth
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(2, 1, 1, 1, 1)
        .TextFileFixedColumnWidths = Array(6, 8, 10, 13)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
   
    End With
   
   
End Sub

回復 2# mistery


    是的~~

TOP

悶了∼∼
看不懂∼∼
我的是抓取我存在我的資料夾中的文字檔

TOP

我遇到的問題是
我有兩個
AutoFilter Field:=5  Criteria1:="3"
AutoFilter Field:=6  Criteria1:="3"

我需要的是 如果欄位五有3的選出來後 在選第二輪的篩選欄位六有3的

因為這樣有先後順序的問題
所以不知道該怎麼改

因為我會把這兩個條件對調,因為結果會不同

TOP

Sub test()
Dim row_s1 As Integer

'檢查工作表1的B欄已有資料行數
    row_s1 = Worksheets(1).Range("B65535").End(xlUp).Row

'B1無資料時,row_s1 =0
    If row_s1 = 1 Then
        If Cells(row_s1, 2) = "" Then
            row_s1 = 0
        End If
    End If


'第一次選資料0,並貼到工作表1
    Worksheets(2).Select
    ActiveSheet.Range("$A$1D$10").AutoFilter Field:=2, Criteria1:="0"
    ActiveSheet.Range("$A$1D$10").AutoFilter Field:=3, Criteria1:="1"
    Range("B2:l9").Select
    Selection.Copy
    Worksheets(1).Select
    Cells(row_s1 + 1, 2).Select
    ActiveSheet.Paste
   
'第二次選資料1,並貼到工作表1
    row_s1 = Worksheets(1).Range("B65535").End(xlUp).Row

    Worksheets(2).Select
    ActiveSheet.Range("$A$1D$10").AutoFilter Field:=3, Criteria1:="1"
     ActiveSheet.Range("$A$1D$10").AutoFilter Field:=2, Criteria1:="0"
    Range("B2:l9").Select
    Selection.Copy
    Worksheets(1).Select
    Cells(row_s1 + 1, 2).Select
    ActiveSheet.Paste
End Sub


Sub a1()



Worksheets(2).Select
    ActiveSheet.Range("$A$1D$10").AutoFilter Field:=2, Criteria1:="0"


End Sub


Sub a2()


    Worksheets(2).Select
    ActiveSheet.Range("$A$1D$10").AutoFilter Field:=3, Criteria1:="1"


End Sub
---------------------------

我用了下面這樣 一樣不行
Sub 巨集2()
'
' 巨集2 巨集
'

'
  Dim row_s1 As Integer

'檢查工作表1的B欄已有資料行數
    row_s1 = Worksheets(1).Range("B65535").End(xlUp).Row

'B1無資料時,row_s1 =0
    If row_s1 = 1 Then
        If Cells(row_s1, 2) = "" Then
            row_s1 = 0
        End If
    End If
   
   
  
  
  Call a2
Call a1
  

        
    Range("B2:l9").Select
    Selection.Copy
    Worksheets(1).Select
    Cells(row_s1 + 1, 2).Select
    ActiveSheet.Paste


End Sub

TOP

回復 9# gn001038600


    大大我發現 都是一樣的
無論幾個篩選
都一定要全部符合才能被篩選出來

篩選 的 條件有所謂的

A欄位要成立  與  B欄位要成立   兩者成立後 的 C D E三個欄位 只要有是大於0就出現嗎?
A        B        C        D        E
1        2        4        1        2
2        3        5        4        3
3        7        6        7        4
4        1        7        4        5
5        4        3        6        2
6        7        4        7        3
7        4        5        3        4
8        5        7        6        5
7        1        6        7        4
2        1        6        7        4
2        8        8        5        7
2        5        7        1        6

TOP

謝謝大大 我試看看

TOP

        靜思自在 : 自己害自己,莫過於亂發脾氣。
返回列表 上一主題