2017-02-22 132 views
0

我正在加拿大政府网站上在线清洁天气数据。这个问题听起来很简单,但不幸的是我无法通过VBA获得我想要的东西。VBA:复制一个值,将其粘贴到该行中固定次数,然后重复

为什么我有问题?

要清理数据,我想看看天气和心情之间是否存在关系。

数据被分为几部分(即每个部分一个部分)。数据的每个部分都以表格形式提供每日天气信息(365行,闰年为366)。该数据中没有提到电台名称。它只在每个部分顶部的一个单元格中提到。所以我想复制标题部分的电台名称并将其粘贴到所有日子的行中。

例如: 如果在加拿大有8000个监测天气数据的站,那么将会有8000个表格部分,每个部分将有每日天气数据。

这里是我的步骤查询:

1)复制细胞(B1单元格中的一个值),并粘贴下来的行4694倍范围(AC27:AC4720)。 4694涵盖10年+部分标题,空白处。 2)向下移动一行(因此请将AC4721留空) 3)重新开始此过程。 函数重复该过程直到文件结束。

式简单的语言:

后空白持续....

所述细胞是在AC4722现在,相对于该单元中的公式有复制B4696,重复步骤(1的值)和步骤(2)的查询。

以这种方式下一个将AC9417,相对于这个单元格的公式必须复制B9391的值,重复步骤(1)和步骤(2)的查询。

关系位置(AC27,B1),(AC4722,B4696),(AC9417,B9391)之间的差异始终是26

请帮助。

回答

0

要输入的值,所有你需要做的是:

Range("AC27:AC4720") = Range("B1") 

无需每一行迭代。

最难的部分是找出需要复制到的范围。取决于您的文件的外观,可以采用多种方法来完成。

+0

谢谢你ClintB的答案。 这是单元格范围,此模式将继续使用8000+个工作站 (Station,B,AC)(1,1,27)(2,4696,4722)(3,9391,9417)(4, 14086,14112)(5,18781,18807)(6,23476,23502)(7,28171,28197)...... \t \t \t \t \t \t \t 是否有可能喜欢该系列的循环代码或者其他的东西? –

+0

您需要某个新站启动的标识符。是否有一列总是有“电台名称:”或类似的东西,然后可以搜索该字段。计算第一个找到的站点和第二个找到的站点之间的范围,然后将范围设置为等于站点名称。 – ClintB