|
Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2010 - как пакетно назначить имена для клеток excel? |
|
2010 - как пакетно назначить имена для клеток excel?
|
Ветеран Сообщения: 2756 |
Профиль | Отправить PM | Цитировать Мне нужно определенному диапазону клеток размером 50 столбцов на 2000 строк присвоить произвольные имена. Как это можно сделать? Может кто скриптом VBA подсобит?
|
|
------- Отправлено: 00:18, 21-01-2012 |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать okshef, Iska, ничего не вышло. сделал буквально, как сказал okshef, то есть вот так:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Rows.Count > 1 Or Target.Columns.Count > 1 Then MsgBox "Âûáðàíî áîëåå 1 ÿ÷åéêè": Exit Sub Option Explicit Sub SetNames2() Dim objWorksheet As Worksheet Dim objCell As Range Dim strNewName As String Dim i As Long Set objWorksheet = Selection.Worksheet If objWorksheet.Type = xlWorksheet Then i = objWorksheet.Names.Count For Each objCell In Selection If Not RangeHasName(objCell) Then Do strNewName = "_" & CStr(i) i = i + 1 If Not NameExists(objWorksheet, strNewName) Then Exit Do End If Loop objWorksheet.Names.Add strNewName, "=" & objCell.Address(, , xlR1C1, True) End If Next End If Set objWorksheet = Nothing End Sub Function NameExists(objWorksheet As Excel.Worksheet, strName As String) As Boolean On Error Resume Next NameExists = Len(objWorksheet.Names(strName).Name) <> 0 End Function Function RangeHasName(objRange As Excel.Range) As Boolean On Error Resume Next RangeHasName = Len(objRange.Name.Name) <> 0 End Function End Function |
------- Отправлено: 11:01, 24-12-2012 | #51 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать Подскажите пожалуйста еще как подсчитать количество именованных клеток на листе. Пробовал так: СЧЁТЕСЛИ(A1:AF828;"_*") но не выходит. Вот
здесь, пункт D есть какой то кусок кода для этого, но не пойму как его применить. Просто так не запускается |
------- Отправлено: 11:59, 24-12-2012 | #52 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Pozia:
Цитата Pozia:
|
||
Отправлено: 13:03, 24-12-2012 | #53 |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать Iska, я совсем чайник в этом (. Могли бы вы привести весь код как надо?
|
------- Отправлено: 13:28, 24-12-2012 | #54 |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 16:48, 24-12-2012 | #55 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Постараюсь.
|
Отправлено: 17:50, 24-12-2012 | #56 |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать Iska, заметил, что код в посте 34 начинает именовать ячейки, начиная с последнего максимального имени. Но если я удалил ранее созданные имена ячеек, то все равно имя присваивается с конца. То есть имею имена _1_, _2_, _10_, _11_, _12_, и в этом случае при запуске макроса присваивается следующее имя имя _13_ а не _3_. Можно ли это учесть? Спасибо
|
------- Отправлено: 21:26, 17-01-2013 | #57 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Pozia, время нужно выделить потребное. Пока его нет. Я помню и про предыдущее.
|
Отправлено: 03:58, 18-01-2013 | #58 |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать Iska, доброго вечера. Может у Вас появилась минутка для помощи, случайно?
|
------- Отправлено: 21:04, 03-09-2013 | #59 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Pozia, надо вспоминать .
|
Отправлено: 16:58, 04-09-2013 | #60 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Как назначить разделителем для FOR конец строки? | NordWest | Скриптовые языки администрирования Windows | 2 | 13-11-2011 21:12 | |
Разное - Как назначить программу для открытия файлов одного типа | fonarik | Microsoft Windows 2000/XP | 1 | 09-10-2010 11:08 | |
Установка - Кардридер. Установка с нуля. Как назначить C: для системы при включеном кардридере?? | yurfed | Microsoft Windows 2000/XP | 2 | 17-09-2008 11:10 | |
назначить действие для файлов в firefox | graverman | Программное обеспечение Linux и FreeBSD | 1 | 26-11-2007 17:00 | |
k3b: Назначить устройство для записи? | SVlads | Общий по FreeBSD | 27 | 28-03-2006 12:39 |
|