none
vb搜尋excel RRS feed

  • 問題

  • Dim xlsApp As Object '定義開啟Excel物件變數
        Dim sheetApp As Object '定義開啟Excel工作表物件變數
        Dim strValue As String '定義工作表欄位字串

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim i As Integer
            Dim a As String
            xlsApp = CreateObject("Excel.Application")
            xlsApp.Workbooks.open("C:\Book1.xlsx")
            a = TextBox1.Text 'textbox1.Text '要找的字串
            With xlsApp.activesheet
                .Cells.Find(a) '搜尋

                For i = 1 To 2

                    MsgBox(xlsApp.activesheet.Cells(i).value)
                Next i

            End With


            xlsApp.Workbooks.Close()
            xlsApp.quit()
            xlsApp = Nothing
        End Sub


    這個程式要如何修改成能在textbox2顯示出excel共有幾個textbox1所找的字串呢??

    2010年2月22日 上午 11:01

解答

  •           'tempRange = CreateObject("Excel.Range")
            tempRange = xlsApp.activesheet.Cells.Find(a)
    
            Try
                If Not tempRange Is Nothing Then
                    firstAddress = tempRange.Address
                    Dim intCount As Integer
    
                    Do
                        tempRange = xlsApp.activesheet.Cells.FindNext(tempRange)
                        intCount += 1
                    Loop While Not tempRange.Address Is Nothing And tempRange.Address <> firstAddress

    如何從 Visual Basic .NET 將 Excel 自動化,以使用陣列填入或取得某一範圍的資料


    在 Server 端存取 Excel 檔案的利器:NPOI Library

    • 已標示為解答 Lolota Lee 2010年3月1日 上午 06:17
    2010年2月23日 上午 05:16

所有回覆

  • 唔…這個要怎麼用呢 ??

    沒有用過這種類似的東西 >"<
    2010年2月22日 下午 03:42
  • Joe大不是給了你連結嗎 ? 總要點進去看看, 自己稍微研究一下, 然後上網查查資料吧 ?
    "沒有用過"並不是別人該花時間幫你寫程式碼的理由, 新台幣才是.
    2010年2月22日 下午 03:50
  •         Dim firstAddress As String
            Dim tempRange As Object
    
            tempRange = CreateObject("Excel.Range")
            tempRange = xlsApp.activesheet.Cells.Find(a)
    
            Try
                If Not tempRange Is Nothing Then
                    firstAddress = tempRange.Address
                    Dim intCount As Integer
    
                    Do
                        tempRange = xlsApp.activesheet.Cells.FindNext(tempRange)
                        intCount += 1
                    Loop While Not tempRange.Address Is Nothing
    
                    Me.TextBox2.Text = intCount.ToString
                End If
    
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try

    Excel FindNext的問題


    2010年2月23日 上午 01:35
  • 非常謝謝你~~
    不過上述程式碼我在執行的時候 tempRange = CreateObject("Excel.Range")
    這行就停止會出現錯誤
    第一個可能發生的例外狀況類型 'System.Exception' 發生於 Microsoft.VisualBasic.dll

    我也有使用這個網站的方法改 ,但是也不行
    http://www.itpub.net/viewthread.php?tid=1185624

    再麻煩您了 >"<

    2010年2月23日 上午 04:18
  •           'tempRange = CreateObject("Excel.Range")
            tempRange = xlsApp.activesheet.Cells.Find(a)
    
            Try
                If Not tempRange Is Nothing Then
                    firstAddress = tempRange.Address
                    Dim intCount As Integer
    
                    Do
                        tempRange = xlsApp.activesheet.Cells.FindNext(tempRange)
                        intCount += 1
                    Loop While Not tempRange.Address Is Nothing And tempRange.Address <> firstAddress

    如何從 Visual Basic .NET 將 Excel 自動化,以使用陣列填入或取得某一範圍的資料


    在 Server 端存取 Excel 檔案的利器:NPOI Library

    • 已標示為解答 Lolota Lee 2010年3月1日 上午 06:17
    2010年2月23日 上午 05:16