Всем доброго времени суток! Пытался с помощью Refedit выделить конкретную ячейку. У меня в Refedit всегда только одна ячейка, а не диапазон ячеек. Когда я пытался ввести строку Range(Refedit1).Activate то выходит сообщение об ошибке: Method 'Range' of object '_Global' failed Прошу помочь исправить данную ошибку.
Всем доброго времени суток! Пытался с помощью Refedit выделить конкретную ячейку. У меня в Refedit всегда только одна ячейка, а не диапазон ячеек. Когда я пытался ввести строку Range(Refedit1).Activate то выходит сообщение об ошибке: Method 'Range' of object '_Global' failed Прошу помочь исправить данную ошибку.flash708
KuklP, это интересно, но можно встречный вопрос - как выделить соседнюю ячейку? или может быть можно выяснить как называется шрифт в соседней ячейке (в той же строке или в том же столбце), не выделяя ее?
KuklP, это интересно, но можно встречный вопрос - как выделить соседнюю ячейку? или может быть можно выяснить как называется шрифт в соседней ячейке (в той же строке или в том же столбце), не выделяя ее?flash708
У каждой ячейки может быть 8 соседних. Какую соседнюю желаете? В общем пользуйтесь свойствами offset, font.name. И избегайте селектов. Свойства объектов можно получать не выделяя их. Так выясняем имя шрифта ячейки справа от указанной: [vba]
Код
Private Sub CommandButton1_Click() MsgBox (Range(Application.ConvertFormula(RefEdit1, xlR1C1, xlA1)).Offset(, 1).Font.Name) End Sub
[/vba]
У каждой ячейки может быть 8 соседних. Какую соседнюю желаете? В общем пользуйтесь свойствами offset, font.name. И избегайте селектов. Свойства объектов можно получать не выделяя их. Так выясняем имя шрифта ячейки справа от указанной: [vba]
Код
Private Sub CommandButton1_Click() MsgBox (Range(Application.ConvertFormula(RefEdit1, xlR1C1, xlA1)).Offset(, 1).Font.Name) End Sub
KuklP, простите за беспокойство, но у меня возникла проблема после запуска макроса. Часто Excel закрывается сам по себе, выдается ошибка типа Appcrash. Подскажите пожалуйста как можно ее устранить. Заранее спасибо.
KuklP, простите за беспокойство, но у меня возникла проблема после запуска макроса. Часто Excel закрывается сам по себе, выдается ошибка типа Appcrash. Подскажите пожалуйста как можно ее устранить. Заранее спасибо.flash708
В макросе нет ничего такого, что могло бы валить экс. Причина не в нем. Мож криво ломаный экс, или кривая установка. А может какие программы с эксом конфликтуют.
В макросе нет ничего такого, что могло бы валить экс. Причина не в нем. Мож криво ломаный экс, или кривая установка. А может какие программы с эксом конфликтуют.KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
a = Range(Application.ConvertFormula(RefEdit2, xlR1C1, xlA1)).Row b = Range(Application.ConvertFormula(RefEdit2, xlR1C1, xlA1)).Column Cells(a, b).Select
End Sub
[/vba]
то у меня выходит сообщение об ошибке, поскольку в Refedit1 содержится Лист1!R2C2, а в Refedit2 - $I$9. Подскажите пожалуйста как $I$9 перевести в другой формат (чтобы было Лист1!R9C9 Спасибо. [moder]Оформите код тегами (кнопка #)[/moder]
KuklP, простите, но можно еще вопрос по данной теме? когда я ввожу Refedit2 но так чтобы его значение вычислялось автоматически
a = Range(Application.ConvertFormula(RefEdit2, xlR1C1, xlA1)).Row b = Range(Application.ConvertFormula(RefEdit2, xlR1C1, xlA1)).Column Cells(a, b).Select
End Sub
[/vba]
то у меня выходит сообщение об ошибке, поскольку в Refedit1 содержится Лист1!R2C2, а в Refedit2 - $I$9. Подскажите пожалуйста как $I$9 перевести в другой формат (чтобы было Лист1!R9C9 Спасибо. [moder]Оформите код тегами (кнопка #)[/moder]flash708
Сообщение отредактировал flash708 - Четверг, 09.04.2015, 23:29
Серег, ты не совсем прав. RefEdit та еще зараза. И там нужно либо конвертировать адрес, если включен стиль R1C1, либо, как я делал, по событию Enter менять стиль ссылки.
Серег, ты не совсем прав. RefEdit та еще зараза. И там нужно либо конвертировать адрес, если включен стиль R1C1, либо, как я делал, по событию Enter менять стиль ссылки.RAN
Серег, сейчас вспоминать подробности влом. Но без этого не работало [vba]
Код
Private Sub UserForm_Initialize() If Application.ReferenceStyle = xlR1C1 Then RefStyle = xlR1C1 Application.ReferenceStyle = xlA1 Else RefStyle = xlA1 End If If TypeName(Selection) = "Range" Then RfRange = Selection.Address Call OptBtn_Chang End Sub
[/vba]
Подумав, вспомнил. Я там с листа грузил. Пардоньте.
Серег, сейчас вспоминать подробности влом. Но без этого не работало [vba]
Код
Private Sub UserForm_Initialize() If Application.ReferenceStyle = xlR1C1 Then RefStyle = xlR1C1 Application.ReferenceStyle = xlA1 Else RefStyle = xlA1 End If If TypeName(Selection) = "Range" Then RfRange = Selection.Address Call OptBtn_Chang End Sub
[/vba]
Подумав, вспомнил. Я там с листа грузил. Пардоньте.RAN
Быть или не быть, вот в чем загвоздка!
Сообщение отредактировал RAN - Четверг, 09.04.2015, 23:17
KuklP, Ура! Спасибо, получилось! Никуда ничего не выбрасывает! Правда, я пару дней назад переустановил весь Excel :-) Сначала весь Office удалил, потом снова поставил)
KuklP, Ура! Спасибо, получилось! Никуда ничего не выбрасывает! Правда, я пару дней назад переустановил весь Excel :-) Сначала весь Office удалил, потом снова поставил)flash708