麻烦弄清楚如何用特定文本替换范围中的单元格 - Excel VBScript

时间:2011-07-22 18:58:33

标签: excel vbscript

此时我必须有脑雾,因为我确信这很容易做到,事实上我已经设法创建了其他功能,这个项目有点复杂。

无论如何,我想做什么。我有一个工作表(库存数据),在第1列中,它列出了一个公司名称,对于所有行都是相同的。即1900左右的行中的每一行在第一个单元格中都有公司名称。

现在,虽然每个应用程序的数据总是相同,但行数会发生变化。

因此,我需要一个函数,它首先确定该范围内的最后一行数据,然后将每个记录的第一列中的所有单元格更改为name_company。公司名称将始终相同,因此我可以静态分配它们。这是我所拥有的不起作用。

我能够以另一种方式使其工作,但它会将文本一直替换到工作表的最后一行,超出数据停止的位置。

谢谢!

Sub changeCompany() 'Changes company name as pulled from Agemni into proper ETA format

Dim myCell As Range
Dim RngToChange As Range 'The range of cells that need to be changed
Dim LastRow As Long 'Declare variable to help determine the last row on a variable length worksheet
Dim i As Integer

With Worksheets("inventory-data") 'set the range to change
    Set RngToChange = .Columns(1)
End With

LastRow = Worksheets("inventory-data").UsedRange.Rows.Count 'Have Excel determine what the last row is.

For i = LastRow To 1 Step -1
    RngToChange.Cells.Value = "name_company"
Next i

End Sub

1 个答案:

答案 0 :(得分:0)

[SomeCellOrRange] CurrentRegion .Rows.Count,例如:

Range("A1").CurrentRegion.Rows.Count

UsedRange查找单元格的任何使用,不限于连续的表格块。在删除某些行之后,有时还需要重新保存工作簿才能正常收缩。