如何从字段里提取出想要的内容放到另一列里啊,比如:点击帖子右上的(管理)链接.
我要将这句话()里的字段提取出来放到另一列,宏里应该怎么写啊,小弟刚接触VB,望高手大哥指教,顿首百拜

解决方案 »

  1.   

    宏?Private Sub Command1_Click()
      MsgBox GetStr("点击帖子右上的(管理)链接")
    End SubFunction GetStr(tmpS As String) As String
      Dim FirstPos As Integer
      Dim LastPos As Integer
        tmpS = Trim(tmpS)
        If tmpS = "" Or IsNull(tmpS) Then GetStr = "": Exit Function
        FirstPos = InStr(1, tmpS, "(")
        LastPos = InStr(1, tmpS, ")")
        If LastPos <= FirstPos Then GetStr = "": Exit Function
        GetStr = Mid(tmpS, FirstPos + 1, LastPos - FirstPos - 1)
    End Function
      

  2.   

    多谢大哥,我是在excel的宏里写的
      

  3.   

    sheets(1).cells(i,j)="你需要添加的内容"   '就是把你需要的内容添加在你打开的EXCEL文件中的第一个表格(最左边的)的第i行,第j列的位置上,修改i,j可以把内容填写在不同的位置上!
      

  4.   

    '下面代码可以放到宏里执行Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        Sheets(1).Cells(2, 1) = GetStr(Sheets(1).Cells(1, 1))
    End SubFunction GetStr(tmpS As String) As String
      Dim FirstPos As Integer
      Dim LastPos As Integer
        tmpS = Trim(tmpS)
        If tmpS = "" Or IsNull(tmpS) Then GetStr = "": Exit Function
        FirstPos = InStr(1, tmpS, "(")
        LastPos = InStr(1, tmpS, ")")
        If LastPos <= FirstPos Then GetStr = "": Exit Function
        GetStr = Mid(tmpS, FirstPos + 1, LastPos - FirstPos - 1)
    End Function
      

  5.   

    我是这样写的Sub Command1()
    Dim mycell As Range
    For Each mycell In Selection
    Dim tmpS As String
    Dim str1 As String
    Dim FirstPos As Long
    Dim LastPos As Integer
        
    tmpS = mycell.Value
    tmpS = Trim(tmpS)
    FirstPos = InStr(1, tmpS, "("):
    LastPos = InStr(1, tmpS, ")"):
    If tmpS = "" Or IsNull(tmpS) Then
    MsgBox "tt": mycell.Value = ""
    ElseIf LastPos <= FirstPos Then
    MsgBox "yy": mycell.Value = ""
    else
    mycell.Value = ""
    str1 = Mid(tmpS, FirstPos + 1, LastPos - FirstPos - 1)
    mycell.Value = str1     
    End If
    Next
    End Sub
    因为刚接触VBA,不太会用函数,改的简单点了,见笑了