Это хорошо для меня, хотя я использую Office XP, а не 2003. Вы уверены, что этот код (или только код) работает для этой кнопки?
Он правильно устанавливает высоту, но не изменяет содержимое ячейки вообще.
Я пробовал это как макрос, управляемый нажатием клавиши, так и командную кнопку на листе без проблем.
UPDATE:
Исходя из ваших правок, в которых вы заявляете, что используете LinkedCell для поиска ячейки по кнопке, я не думаю, что вы используете ее правильно. LinkedCell связывает значение ячейки со значением элемента управления.
Что происходит, когда вы нажимаете кнопку, так это то, что ее значение устанавливается на логическое значение (возможно, true, когда нажата, а false, когда отпущено, я точно не знаю). Поскольку это связано с ячейкой, значение ячейки также меняется на значение кнопки. Вам нужно найти другой способ «связать» кнопку с ячейкой.
Моей первой мыслью было бы связать ее с ячейкой B1 так, чтобы ваши значения были в A1, A2, A3, ... (назовем их Ax), а ваши кнопки управления были (и связаны с) Bx и don ' не используйте Bx для чего-либо еще (кнопки, вероятно, все равно появятся над ними).
A B
+--------------------+--------+
1 | Long text which is | [Hide] |
| wrapped because | |
| the state is SHOW. | |
+--------------------+--------+
2 | More text which is | [Hide] |
| wrapped because | |
| the state is SHOW. | |
+--------------------+--------+
3 | Hidden text becaus | [Show] |
+--------------------+--------+
4 | Even more text | [Hide] |
| that's wrapped | |
| because the state | |
| is SHOW. | |
+--------------------+--------+
Тогда в своем коде VBA вы все равно можете установить высоту строки Bx (поскольку она влияет на всю строку), и вам будет все равно, что находится в ячейке столбца B - значение ячейки столбца A будет не трогай.
Или, если вы используете для чего-то столбец B, свяжите его с ZZx (или с IVx или с любым самым правым столбцом в строке).