0

我正在尝试仅使用单元格值创建甘特图类型显示。由于格式化,公式将不起作用,因此我需要运行 VBA。

我想遍历单个命名范围的列和行。但是,我认为 VBA 格式不正确,因为这会出错“438:对象不支持此属性或方法”

Dim d As Integer
Dim e As Integer
For d = 1 To **Range("PRcal").Cols.Count**
    For e = 1 To **Range("PRcal").Rows.Count**
        If [Range("PRcal").Cells.(e, d).Value = Range("PRcal").Cells(1, d).Value] Then
            Cells(e, d).Value = Cells(e, 1)
        End If
    Next e
Next d

有什么建议么?谢谢!

4

1 回答 1

3
  • 范围没有Cols属性 - 它们确实有Columns属性
  • 你的 in 中有一个额外的ifCells.(e,d)
  • 你不能在你的if

这应该可以正常工作:

Dim d As Integer
Dim e As Integer
For d = 1 To Range("PRcal").Columns.Count
    For e = 1 To Range("PRcal").Rows.Count
        If Range("PRcal").Cells(e, d).Value = Range("PRcal").Cells(1, d).Value Then
            Cells(e, d).Value = Cells(e, 1)
        End If
    Next e
Next d
于 2013-05-20T17:35:23.260 回答