提取单元格中的一行内容

时间:2017-07-12 05:41:38

标签: excel vba excel-vba

我有一个工作表,我需要进行一些过滤和提取。

Q列下的单元格内可能有多行数据。 每当它以MO开头时我都需要提取LINE。

列Q格式的格式如下:

FM;DATE;CONTENT;NUMBER
MO;DATE;CONTENT;NUMBER
AC;DATE;CONTENT;NUMBER

e.g。 MO; 2017年6月1日;实施例; 123.4

具体来说,我想提取一行:MO; DATE; CONTENT; NUMBER

我不知道是否可以使用VBA,因为我是一名新程序员。

非常感谢。

2 个答案:

答案 0 :(得分:0)

在任何单元格中使用此公式,它将显示行号:

=MATCH("MO;*",Q:Q, 0)

如果您想在另一张表格中显示,请在Q:Q前加上表格的名称:

 =MATCH("MO;*", 'Sheet name'!Q:Q, 0)

答案 1 :(得分:0)

试试这个...

Sub example()


Dim y As Workbook
Dim Value As Variant
Dim cval As String


Set y = ThisWorkbook
lRow = y.Worksheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row

For i = 1 To lRow
cval = y.Worksheets("Sheet1").Range("A" & i)

If cval Like "*" & MO & "*" Then

POS = InStr(cval, "MO")

lpos = InStr(POS, cval, "AC")

tmp = lpos - POS

fmsg = Mid(cval, POS, tmp)

MsgBox fmsg

End If
Next i

End Sub