Board logo

標題: EXCEL 欄位選擇及貼上問題 [打印本頁]

作者: g93353    時間: 2012-1-10 11:33     標題: EXCEL 欄位選擇及貼上問題

小弟又來發問了>"<

想請問各位高手們
這是小弟寫的小程式
Private Sub OpenByAdo_Click()
    Dim strPath As String

    strPath = Me.PathTextBox.Text

    Dim strFileName As String
   
    strFileName = Me.FileNameTextBox.Text

    Dim strSheetName As String

    strSheetName = "清單"

   OpenExcelByAdo2 strPath, strFileName, strSheet

End Sub


Public Sub OpenExcelByAdo2( path, file, sheet )
    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Set cn = New ADODB.Connection
    Set rs = New ADODB.Recordset
   
   
    cn.Open "Provider=Microsoft.Jet.Oledb.4.0;" & _
                "Extended Properties=""Excel 8.0; HDR=NO"";" & _
                "Data Source=" & path & "\" & file
   
'----------------------------------------------------------------------------------------------------------
    Dim strSQL As String
    strSQL = "select * from [" & sheet & "$] where F18 like '%A%'  "        '選取欄位  F18為R欄位 當中含有"A"字
    If cn.State = adStateOpen Then
        Set rs = cn.Execute(strSQL)
        
        Do Until rs.EOF
            Debug.Print rs.Fields.Item("F1")                              '顯示F1欄位
            rs.MoveNext
        Loop
        
        
        MsgBox "Success"
        cn.Close
    End If
    Set conn = Nothing
    Set rs = Nothing

End Sub


小弟在VB能夠顯示出此sheet 的F18(及R欄位) 當中含有"A"字的欄位  ( 但會應檔案不同而改變 所以含有"A"字的欄位是隨機的)
小弟想請問如何能夠把這些欄位數列位數及內容暫存起來(以及其他欄位的內容) 或是可把各欄位列位的內容按照順序貼至另一SHEET呢?
EX :

A     B         C                        R
1    KK      小名                     A
2    CC     小華                      B
3    DD     小新                     C         
4    UU     小美                     A
5    YY      小晶                     A
6    TT      小易                     A

經過SECLET後

A     B         C                        R
1    KK      小名                     A
4    UU     小美                     A
5    YY      小晶                     A
6    TT      小易                     A

貼至另一SHEET( 可以的話 把資料暫存起來)

A     B         C             D
1    KK      小名          A
2    UU     小美          A
3    YY      小晶          A
4    TT      小易          A


請教各位大大們了>"<
作者: jarodz    時間: 2012-1-10 13:21

可以用 match 函數 找到 row index,再把整條row copy到另外一個sheet就可以了。
作者: g93353    時間: 2012-1-10 13:34

先謝謝jarodz的回答 小弟是VBA新手  可否請教一下MATCH的用法 >"<
那如果有很多筆資料的話   只能一筆筆找出  row index 然後貼至另一SHEET嗎?




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