+ Ответить в теме
Страница 1 из 2
1 2 ПоследняяПоследняя
Показано с 1 по 10 из 17

Тема: Способ считать количество символов в ячейке Excel

  1. #1
    system architect Avsha is on a distinguished road
    Регистрация
    08.09.2005
    Адрес
    KZ
    Сообщений
    664
    Вес репутации
    15

    По умолчанию Способ считать количество символов в ячейке Excel

    Хотелось бы иметь быстрый способ определения количества символов в ячейке,
    подобный тому как определяется сумма, среднее и т.д. для выбранного диапазона в статусной строке внизу справа.

    Например, выбрал ячейку, нажал кнопку, выдало сколько символов в текстовой строке ячейки.
    Есть ли для этого какой стандартный механизм или функция в Excel?

    Вариант с функцией ДЛСТР - понятен, но несколько долговат.

  2. По умолчанию

     
    Хотите избавиться от рекламы? Зарегистрируйтесь
  3. #2
    Super Moderator system architect Naeel Maqsudov is a jewel in the rough Naeel Maqsudov is a jewel in the rough Naeel Maqsudov is a jewel in the rough Аватар для Naeel Maqsudov
    Регистрация
    20.02.2004
    Адрес
    Moscow, Russia
    Возраст
    45
    Сообщений
    2,551
    Вес репутации
    22

    По умолчанию

    Стандартного нет.

    Только макрос
    Код :
    1. sub macro1()
    2.    on error resume next
    3.    msgbox len(activecell)
    4. end sub
    с горячей клавишей на нем

  4. #3
    system architect Avsha is on a distinguished road
    Регистрация
    08.09.2005
    Адрес
    KZ
    Сообщений
    664
    Вес репутации
    15

    По умолчанию

    Отличное решение !!!
    полностью меня устраивает.
    вытащил кнопку на панель управления, привязал ваш макрос, но ...
    куда поместить макрос чтобы он работал для разных книг Excel,
    а то так он выполняется только для одной книги Excel, где был создан?

  5. #4
    system architect pashulka will become famous soon enough pashulka will become famous soon enough
    Регистрация
    24.11.2004
    Возраст
    77
    Сообщений
    831
    Вес репутации
    16

    По умолчанию

    А как насчёт рабочей книги PERSONAL.XLS ...

  6. #5
    system architect Avsha is on a distinguished road
    Регистрация
    08.09.2005
    Адрес
    KZ
    Сообщений
    664
    Вес репутации
    15

    По умолчанию

    Спасибо, pashulka,
    Ваш совет как всегда приводит к успеху.

    Что у меня получилось:
    1. Записываем макрос Сервис\Макрос\Начать Запись...\
    При этом выбираем место сохранения макроса "Личная книга макросов"

    2. В результате в среде Excel появляется скрытая книга PERSONAL.XLS,
    доступная из всех других книг, с которыми работает пользователь.
    Она кстати сохраняется в пути C:\Documents and Settings\User_01\Application Data\Microsoft\Excel\XLSTART
    и очевидно может переноситься от одного пользователя к другому (или на другой ПК) простым копированием.

    3. Теперь добавляем наш макрос в модуль PERSONAL.XLS
    sub macro1()
    on error resume next
    msgbox len(activecell)
    end sub

    4. В конце создаем кнопку на новой панели инструментов Настраиваемая1, и привязываем кнопку к макросу PERSONAL.XLS!macro1

    Не нашел только в справке ни слова про личную книгу макросов PERSONAL.XLS, где можно почитать?

  7. #6
    system architect pashulka will become famous soon enough pashulka will become famous soon enough
    Регистрация
    24.11.2004
    Возраст
    77
    Сообщений
    831
    Вес репутации
    16

    По умолчанию

    Avsha, Могу предложить ещё один вариант.

    Найдите рабочую книгу PERSONAL.XLS, перейдите в модуль ThisWorkbook (ЭтаКнига) и скопируйте туда этот код :

    Код :
    1. Dim Cls As New Class1
    2.  
    3. Private Sub Workbook_Open()
    4. With Application.CommandBars("Cell").Controls.Add _
    5.      (Type:=msoControlEdit, Temporary:=True)
    6.      .BeginGroup = True
    7.      .Style = msoButtonIcon
    8.      .Caption = "Кол-во символов"
    9. End With
    10. Set Cls.xlApp = Application
    11. End Sub

    Затем создайте модуль класса - Class1 и скопируйте :

    Код :
    1. Public WithEvents xlApp As Application
    2.  
    3. Private Sub xlApp_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Excel.Range, Cancel As Boolean)
    4. iCount = Evaluate("Sum(Len(" & Target.Address & "))")
    5.  
    6. Application.CommandBars("Cell").Controls("Кол-во символов").Text = _
    7. IIf(IsError(iCount), "Ошибка", iCount)
    8. End Sub

    Теперь, при следующем запуске MS Excel (если Вы конечно сохранили изменения в личной книге макросов) Вам будет достаточно выделить ячейку или диапазон ячеек и кликнуть правой кнопкой мышки.

    Примечание : На самом деле можно использовать ~ любую рабочую книгу. Для этого её достаточно расположить в стандартной или альтернативной папке автозагрузки.

    Стандартной является папка XLSTART, которая в MS Excel 97 располагается, как правило - \Program Files\Microsoft Office\Office\XLStart
    Альтернативную папку автозагрузки можно выбрать самому (меню Сервис - команда Параметры - закладка Общие - поле Каталог автозагрузки )
    Также можно использовать надстройки (.xla)

    При желании, эту рабочую книгу (.xls) можно сделать скрытой (меню Окно - команда Скрыть )

    P.S. Что касается литературы, то это вопрос не ко мне ...

  8. #7
    system architect Avsha is on a distinguished road
    Регистрация
    08.09.2005
    Адрес
    KZ
    Сообщений
    664
    Вес репутации
    15

    По умолчанию

    pashulka,
    использование контекстного меню - ну это вообще высший пилотаж,
    спасибо, мне понравилось ваше решение.

    А главное, какая открывается дорога по предоставлению других информационных функций.

  9. #8
    system architect Avsha is on a distinguished road
    Регистрация
    08.09.2005
    Адрес
    KZ
    Сообщений
    664
    Вес репутации
    15

    По умолчанию

    Наткнулся на хорошие ресурсы по VBA, делюсь:

    http://www.microsoft.ru/offext/developers/
    http://www.vbstreets.ru/VBA/default.aspx

  10. #9
    s2dent is on a distinguished road
    Регистрация
    20.10.2006
    Сообщений
    2
    Вес репутации
    0

    По умолчанию

    А еслиБ Вы сказали, как сделать так, чтоб колличество символов считалось в ячейке с помощью формулы - Вам бы цены не было!

    Т.е. у меня есть название "Яблочный сок 0,2" - в нём содержится 16символов (включая пробелы). Есть ли формула, которая подсчитает это колличество автоматом в соседней ячейке?

  11. #10
    senior developer Pavel55 is on a distinguished road
    Регистрация
    20.10.2006
    Адрес
    Moscow
    Возраст
    39
    Сообщений
    405
    Вес репутации
    13

    По умолчанию

    =ДЛСТР(ссылка на ячейку)

+ Ответить в теме
Страница 1 из 2
1 2 ПоследняяПоследняя

Похожие темы

  1. EXCEL. Как в ячейке вывести название листа?
    Требуется в ячейке рабочего листа вывести название этого листа.
    от q392 в разделе MS Office и VB(A).
  2. Количество последовательности символов в тексте
    Подскажите текст макроса,который бы подсчитывал, сколько раз в тексте встречается определённая последовательность символов?
    от Corvin в разделе MS Office и VB(A).
  3. Количество введнных символов!!!
    Здравствуйте! После ввода символов и считывания их, в blength окзывается количество введенных символов, каким образом это происходит? Вот часть...
    от Xabar в разделе Ассемблер
  4. Как обратиться к ячейке Excel?
    Помогите, пожалуйста! У меня есть книга Excel с данными. Мне нужно эти данные скачать с помощью Delphi и рассовать по массивам. Как подключиться к...
    от ElenaA в разделе Delphi и Pascal
  5. Количество цифр в ячейке и вывод списка значений с ошибкой
    Привет У меня такой вопрос. Нужно написать макрос в Excel. Есть лист с полями Имя, Номер и Количество. Номер должен быть ровно 15 цифр, а Количество...
    от Liska в разделе MS Office и VB(A).

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения