Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

如何通過vb查找excel中一個字符并獲得字符串位置

Peterzeng  发表于:2011-02-08 10:04:10  
复制

新年好,小生在此向各位网友問好了.

 

請問各位老師,如何在vb中通過打開一個excel ,然后查找excel中一個字符.并得到字符串的位置.是否可以用dlookup?

 

謝謝.

 

Top
煮江品茶 发表于:2011-02-08 10:19:41
instr("小生在此向各位网友問好了","各位")结果为6

Peterzeng 发表于:2011-02-08 13:40:18
老師您好,我是想問查找一個已知字符串"ab"在excel中的坐標位置

煮江品茶 发表于:2011-02-08 13:54:58
用cells对象遍历即可

Peterzeng 发表于:2011-02-08 16:41:20

 

老師是否可以這樣寫:

....

xlBook.Application.Sheets(1).Select
For n = 1 To 100
For m = 1 To 20
 L = xlBook.Application.Cells(n, m).Value
 If L = "AB" Then Exit For
 Me.Text10 = n
 Me.Text12 = m
 Me.Text10.Requery
 Me.Text12.Requery
 
Next
 Next

 

但我測試結果是最后一個數據,即沒有結果.為什么?錯在哪里?



红尘如烟 发表于:2011-02-08 20:43:21

直接调用Excel中的查找功能就行了:

 

Dim objApp      As Object 'Excel.Application
Dim objSheet    As Object 'Excel.Workbook
Dim strFind     As String
Dim rng         As Object 'Range

Set objApp = CreateObject("Excel.Application")
Set objSheet = objApp.Workbooks.Open("E:\test.xls")
objSheet.Worksheets("Sheet1").Select

strFind = "abc"
Set rng = objApp.Cells.Find(strFind)
If rng Is Nothing Then
    MsgBox "未找到字符串 '" & strFind & "'。"
Else
    MsgBox "找到字符串 '" & strFind & "' 在第 " & rng.Row & _
           " 行第 " & rng.Column & " 列(" & rng.Address & ")。"
End If



煮江品茶 发表于:2011-02-09 09:43:56

Peterzeng同志:你和红尘同志的方法均可行。只是你的代码秩序上有些问题。应该如下:
....

xlBook.Application.Sheets(1).Select
For n = 1 To 100
   For m = 1 To 20
      L = xlBook.Application.Cells(n, m).Value
      If L = "AB" Then
         Me.Text10 = n
         Me.Text12 = m
         Exit For
      End if
   Next
Next



Peterzeng 发表于:2011-02-09 11:00:21

謝謝二位老師的指點.問題已解決.



总记录:7篇  页次:1/1 9 1 :