Why 'Row' changes to 'row' in Excel VBA

前端 未结 3 455
一个人的身影
一个人的身影 2020-12-07 04:12

For unknow reason my Excel VBA editor changes:
Cells(ActiveCell.Row, 1).Value = MyString
into
Cells(ActiveCell.row, 1).Value = MyString

相关标签:
3条回答
  • 2020-12-07 04:44

    I used variable row in VBA of that worksheet. Then I changed the name of the variable row to something else like MyRowName Although there was no such variable as row in VBA anymore, it still kept lower case for that word. As I mentioned above everything worked fine i.e. ActiveCell.row returned what it should for ActiveCell.Row.

    For just aesthetic reasons, I have copied the whole VBA to another worksheet and the bug was crunched. Row returned to Upper case.

    0 讨论(0)
  • 2020-12-07 04:55

    VBA isn't case sensitive, so I wouldn't lose too much sleep over it. The editor tries to convert all of the variable cases to however it was dimmed. Most likely the ActiveCell definition was screwed up somehow.

    0 讨论(0)
  • 2020-12-07 05:06

    I was also getting a bit tired of from looking where exactly I have declared a Row with a small letter, as far as it was not declared anywhere.

    Thus, found a great solution - add the following in a module:

    Public Sub TestMe
       Dim Row as Long
    End Sub
    

    And see the whole code changing. Then you may delete it. Or simply write Dim Row as Long on a new line, somewhere in your code. And then delete it.

    0 讨论(0)
提交回复
热议问题