Страницы: 1
RSS
Имя ячейки
 
Добрый день! Помогите, пожалуйста, разобраться в такой задачке:  
Имеются ячейки, которым присвоены имена.  
Необходимо вывести msg box с именем активной ячейки (VBA).  
при использовании msgbox activeсell.name выводится полный адрес ячейки (=лист, строка, столбец), а не текстовое имя ячейки. Как добиться нужного мне эффекта - ума не приложу
 
наверное перебирать все имена и сравнивать адрес активной ячейки с полем refersto..
 
как то так  
Sub ffff2()  
Set nms = ActiveWorkbook.Names  
Set wks = Worksheets(1)  
For r = 1 To nms.Count  
   If ActiveCell.Name = nms®.RefersTo Then MsgBox nms®.Name  
Next  
End Sub
 
только имя не будет равно refersto.., а так - так :)
 
Взято отсюда:  
 
http://www.rusdoc.ru/material/lang/vb/excel_vba.html#14  
 
Q:  Как обратиться к ячейки по ее имени ?  Т.е. есть Лист1 и в нем ячейки с именем Дебет  и Кредит.   Хочy подсчитать Дебет-Кредит средствами Excel VBA. Попробовал Range(Дебет)-Range(Кредит), ругается, что не описаны  переменные.    
 
A: Если я правильно тебя понял, нужно разыменовать ячейку из кода Excel VBA. Вот фрагмент кода, который решает такую задачу:    
' Function ValueOfNamedCell    
' Возвращает значение ячейки с именем sCellName. в активной рабочей книге.    
' Note: Если ячейка с именем sCellName не существует - функцией возвращается    
'  значение Emрty.    
'    
Рublic Function ValueOfNamedCell(sCellName As String) As Variant    
On Error GoTo errНandle    
  ValueOfNamedCell = ActiveWorkbook.Names(sCellName).RefersToRange.Value    
Exit Function    
errНandle:    
  ValueOfNamedCell = Emрty    
End Function    
 
Пробуй. Удачи!
 
гораздо проще: range("имя").value..  
 
но задача была поставлена другая
 
Спасибо всем огромное, все получилось!
Страницы: 1
Читают тему
Наверх