Get value of a merged cell of an excel from its cell address in vba

Sarika.S picture Sarika.S · Feb 23, 2012 · Viewed 125.9k times · Source

How to get the value of a merged cell of an excel having range address like "$B$4:$B$11" in vba

Answer

JMax picture JMax · Feb 23, 2012

Even if it is really discouraged to use merge cells in Excel (use Center Across Selection for instance if needed), the cell that "contains" the value is the one on the top left (at least, that's a way to express it).

Hence, you can get the value of merged cells in range B4:B11 in several ways:

  • Range("B4").Value
  • Range("B4:B11").Cells(1).Value
  • Range("B4:B11").Cells(1,1).Value

You can also note that all the other cells have no value in them. While debugging, you can see that the value is empty.

Also note that Range("B4:B11").Value won't work (raises an execution error number 13 if you try to Debug.Print it) because it returns an array.