VBA匹配/索引function,跳过任何string单元格或跳转迭代

我有两张表,我试图从一个到另一个拉力值。 我在C列search任何以Force-X开头的单元格,然后倒计时并抓取所有的值。

我遇到的问题是,我目前正在拉的表格在单元格中间有随机的string值。 这是由名为Femap的程序生成的,我无法控制文本。 这是我从中拉出的一个例子。

ELEMENT-ID FORCE-X 38789 1.06E+00 38795 2.49E+00 38801 2.30E+00 38807 2.21E+00 38813 2.15E+00 38819 1.90E+00 38825 1.57E+00 38827 -8.43E-01 38833 3.92E+00 38839 1.51E+01 38845 1.68E+01 38851 1.19E+01 38857 9.22E+00 38863 2.84E+00 **CBUSH-CRITS JULY CONSTRAINT SET SUBCASE 1 FO** ELEMENT-ID FORCE-X 39721 8.80E+00 39727 6.02E+00 39733 1.44E+00 

问题区域以粗体显示。 我的单元格最终有七月,约束集等值。我怎样才能跳过任何一个string的单元格,并确保我的索引search只是从一个强制X的迭代到下一个迭代的强制X的抓取值。

 Dim mrsheet As Worksheet Set mrsheet = ThisWorkbook.Sheets("PPO") ''''''''''''''''''''''''''''''''''''' n = 2 Count = 1 m = 1 numcbush = 138 i = 1 While m <= numcbush If Sheets("F06").Cells(i, 2) = mrsheet.Cells(n, 1) Then mrsheet.Cells(n, 12) = Application.WorksheetFunction.Index(Sheets("F06").Range("C:C"), Application.WorksheetFunction.Match("FORCE-X", Sheets("F06").Range("C:C"), 0) + Count) m = m + 1 n = n + 1 Count = Count + 1 i = i + 1 Else i = i + 1 End If Wend 

也许在开始你的程序之前,先试试这个macros来清理你的数据? 确保你备份,这将删除行!

 Sub CleanupData() Dim aCell As Range StartClean: For Each aCell In Intersect(ActiveSheet.UsedRange, ActiveSheet.Range("C:C")).Cells If IsNumeric(aCell) Or InStr(1, UCase(aCell.Text), "FORCE-X") > 0 Or IsEmpty(aCell) Then 'do nothing Else aCell.EntireRow.Delete GoTo StartClean End If Next End Sub