我怎样才能引用不同行中的数据?

我有一个N行和M列的Excel文件。 通常数据每行都组织一次,但是可能会发生数据占用多于一行的情况。 在这种情况下,我怎么能表示第二行(或下一行)必须引用第一行?

在这里输入图像说明

在这个例子中,AP.01有5行描述,所以我怎么能说其他4行也是第一个代码呢?

编辑一次,我做了关联,我必须将我的Excel文件导出到Access数据库。 所以我想看看正确的数据表。 如果我只有一行描述我写这个代码,它的工作原理:

If grid(r, 3).Text.Length > 255 Then code.Description = grid(r, 3).Text.ToString.Substring(0, 252) + "..." Else code.Description = grid(r, 3).Text.ToString End If 

相反,如果我有不止一行的描述,我写了这段代码,它不起作用:

 Do While grid(r, 1).ToString = "" If grid(r, 1).ToString = "" And grid(r, 3).ToString IsNot Nothing Then Dim s As String s = grid(r, 3).ToString code.Description = grid((r - 1), 3).ToString & s End If Loop 

如果是一次性,请尝试下面的内容。 这基本上会在每个指向它上面的单元格的单元格中放入一个公式:

  1. select列A(从列表的顶部到底部(N行)
  2. ctrl + g打开GoTo对话框
  3. 新闻Special
  4. 从单选button中selectBlanks

以上将select列A中的所有空白单元格。现在input=并按up arrow 。 按住ctrl键的同时按回车键input公式。 这将在每个单元格中input相同的公式。

尝试

 Sub Demo() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("Sheet3") 'change Sheet3 to your data sheet With .Range("A:A").SpecialCells(xlCellTypeBlanks) .FormulaR1C1 = "=R[-1]C" .Value = .Value End With End Sub 

从你的问题我猜,你必须为最后一列值定义一个variables。 并检查相应列中的值,如果为空,则使用列值(如果不为空),则将当前值作为最后一个值。

' Dim LastValue as string LastValue = sheet("SheetName").cells(i,"Column Name").value for i = 2 to LastRow '>>>> here i am assume you run code in for loop from row to 'to last count row(LastRow as variable) 'Put your sheet name at "SheetName" and column index (like "A","B","C"...) at "Column Name" if sheet("SheetName").cells(i,"Column Name").value <>"" then LastValue = sheet("SheetName").cells(i,"Column Name").value end if '(Do your stuff using LastValue , you may generate lastvalue 1, lastvalue2 ..etc) next'for loop end here