VBA:从一串文本中复制数字并插入到下面的单元格中

我想在Excel中创build一个makro,在按下button之后执行下面的操作。 我附上了一些像实际表格一样格式化的虚拟数据。

在这里输入图像说明

有几个数据块是由第1页中的标题分隔的。从这些标题中,我想要得到一串数字,并把它放在每一行的S列,数据低于该标题。 在第6行中,标题是“2000”,因此第8-19行在S列中应该有“2000”,依此类推。 我想要得到的数字总是在“Monthlyaccount”之后,但是数字的长度可以不同 – 从1到7位数字。 对于没有给出数据的行(如果在给定的有效date内可以通过查看数据行来识别),应该只有“ERR”而不是数字。

任何人都可以帮忙吗?

非常感谢!

说string(在单元格A1中)包含“Monthlyaccount”后跟一个空白,然后是一个数字,然后是另一个空白。 要提取数字,请使用:

=--LEFT(MID(A1,FIND("Monthlyaccount",A1)+15,9999),-1+FIND(" ",MID(A1,FIND("Monthlyaccount",A1)+15,9999))) 

这是按要求做的。 将以下内容粘贴到S3中并向下拖动

 =IF(AND(ISNUMBER(RIGHT(A2,4)*1),ISNUMBER(RIGHT(A3,4)*1)),S2,IF(ISNUMBER(RIGHT(A3,4)*1),LEFT(RIGHT(A1,LEN(A1)-FIND("Monthlyaccount",A1)-14),FIND(" ",RIGHT(A1,LEN(A1)-FIND("Monthlyaccount",A1)-14))),"ERR"))