Excel vba строка до пробела

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

Сделать это можно несколькими путями.

С использованием функции Mid:

Function getStringBeforeSpace(inputString As String)
i = 1
Do While (Mid(inputString, i, 1) <> " ")
  i = i + 1
Loop
getStringBeforeSpace = Mid(inputString, 1, i)
End Function

или с использованием inStr

Function getStringBeforeSpace(inputString As String)
    getStringBeforeSpace = Mid(inputString, 1, InStr(1, inputString, " "))
End Function

Первый метод работает так: при помощи функции mid берется один i-ый символ строки и сравнивается с пробелом (по-сути мы много раз режем строку и забираем 1 символ). Как только найден пробел цикл останавливается (внутри цикла счетчик). После цикла при помощи функции mid берется подстрока из строки, которую подали в функцию с 1-го символа и столько, сколько насчитало символов до пробела, то есть i символов.

Второй метод короче, удобнее и лучше. При помощи функции inStr (которой в параметрах нужно передать символ, с которого начать искать, строку в которой искать и строку что искать) мы получаем индекс пробела. Далее так же как и в первом случае при помощи функции mid выделяем подстроку до пробела.

Скачать пример

Примечание: нельзя подавать пустую строку, так как это приводит к зависанию приложения.

Извлечение (вырезание) части строки с помощью кода VBA Excel из значения ячейки или переменной. Функции Left, Mid и Right, их синтаксис и аргументы. Пример.

Эта функция извлекает левую часть строки с заданным количеством символов.

Синтаксис функции Left:

Left(строка, длина)

  • строка — обязательный аргумент: строковое выражение, из значения которого вырезается левая часть;
  • длина — обязательный аргумент: числовое выражение, указывающее количество извлекаемых символов.

Если аргумент «длина» равен нулю, возвращается пустая строка. Если аргумент «длина» равен или больше длины строки, возвращается строка полностью.

Функция Mid

Эта функция извлекает часть строки с заданным количеством символов, начиная с указанного символа (по номеру).

Синтаксис функции Mid:

Mid(строка, начало, [длина])

  • строка — обязательный аргумент: строковое выражение, из значения которого вырезается часть строки;
  • начало — обязательный аргумент: числовое выражение, указывающее положение символа в строке, с которого начинается извлекаемая часть;
  • длина — необязательный аргумент: числовое выражение, указывающее количество вырезаемых символов.

Если аргумент «начало» больше, чем количество символов в строке, функция Mid возвращает пустую строку. Если аргумент «длина» опущен или его значение превышает количество символов в строке, начиная с начального, возвращаются все символы от начальной позиции до конца строки.

Функция Right

Эта функция извлекает правую часть строки с заданным количеством символов.

Синтаксис функции Right:

Right(строка, длина)

  • строка — обязательный аргумент: строковое выражение, из значения которого вырезается правая часть;
  • длина — обязательный аргумент: числовое выражение, указывающее количество извлекаемых символов.

Если аргумент «длина» равен нулю, возвращается пустая строка. Если аргумент «длина» равен или больше длины строки, возвращается строка полностью.

Пример

В этом примере будем использовать все три представленные выше функции для извлечения из ФИО его составных частей. Для этого запишем в ячейку «A1» строку «Иванов Сидор Петрович», из которой вырежем отдельные компоненты и запишем их в ячейки «A2:A4».

Sub Primer()

Dim n1 As Long, n2 As Long

Range(«A1») = «Иванов Сидор Петрович»

‘Определяем позицию первого пробела

n1 = InStr(1, Range(«A1»), » «)

‘Определяем позицию второго пробела

n2 = InStr(n1 + 1, Range(«A1»), » «)

‘Извлекаем фамилию

Range(«A2») = Left(Range(«A1»), n1 1)

‘Извлекаем имя

Range(«A3») = Mid(Range(«A1»), n1 + 1, n2 n1 1)

‘Извлекаем отчество

Range(«A4») = Right(Range(«A1»), Len(Range(«A1»)) n2)

End Sub

На практике часто встречаются строки с лишними пробелами, которые необходимо удалить перед извлечением отдельных слов.

На чтение 12 мин. Просмотров 18.1k.

VBA Instr

Функция VBA InStr является одной из наиболее часто используемых функций в VBA. Он используется для нахождения текста внутри строки и действительно отлично справляется с работой.

Тем не менее, она часто используется, чтобы помочь извлечь часть строки, и эту задачу она выполняет плохо.

Если вы обнаружили, что извлечение текста в VBA является болезненным процессом, тогда читайте дальше. Эта статья покажет вам более простой и лучший способ, используя три реальных примера!

Содержание

  1. Краткое руководство к статье
  2. Краткая справка
  3. Введение
  4. Когда VBA InStr, Left, Right и Mid полезны
  5. Работа со строками различной длины
  6. Использование функции VBA InStr с Mid
  7. Функция Split
  8. Пример 1: Получение части имени файла
  9. Пример 2: диапазон IP-адресов
  10. Пример 3. Проверьте правильность имени файла
  11. Заключение

Краткое руководство к статье

В следующей таблице приведено краткое руководство к тому, что рассматривается в этой статье.

Строка Тип Задача Как
1234ABC334 Фиксированный размер Оставить слева 4 символа Left(s,4)
1234ABC334 Фиксированный размер Оставить
справа 3
символа
Right(s,3)
1234ABC334 Фиксированный размер Оставить 5, 6, 7 символы Mid(s,5,3)
«Иван
Петрович
Сидоров»
Переменный
размер
Оставить имя Split(s,» «)(0)
«Иван
Петрович
Сидоров»
Переменный
размер
Оставить
отчество
Split(s,» «)(1)
«Иван
Петрович
Сидоров»
Переменный
размер
Оставить
фамилию
Split(s,» «)(2)
«Иван
Петрович
Сидоров»
Переменный
размер
Оставить
фамилию
Dim v As
Variant
v = Split(s, » «)
lastname= v(UBound(v))

Краткая справка

Чтобы узнать больше об элементах, упомянутых в статье, перейдите по следующим ссылкам:

  • Если вы хотите узнать больше о функциях InStr или InStrRev, пожалуйста, прочитайте Поиск в строке.
  • Если вы хотите узнать больше о функциях Mid, Left или Right, посмотрите раздел Извлечение части строки.
  • Для получения дополнительной информации о функции Split проверьте Строка в массив, используя Split.
  • Оператор Like включен в Сравнение строк с шаблоном

Я использую Debug.Print в моих примерах. Он печатает значения в Immediate Window, которое вы можете просмотреть, нажав Ctrl + G (или выберите View-> Immediate Window)

Введение

В этой статье я собираюсь показать вам лучший способ извлечения символов из строки, чем использование функции VBA InStr с Left, Right или Mid.

Эта статья разбита следующим образом:

  • Раздел 1: Как извлечь из строк фиксированного размера.
  • Раздел 2: Как извлечь из строк переменного размера.
  • Раздел 3: Как извлечь из строки переменного размера, используя функцию Split.
  • Разделы с 4 по 6: некоторые примеры из реальной жизни.

Когда VBA InStr, Left, Right и Mid полезны

Если вы хотите проверить, содержит ли строка значение, InStr подходит для этой работы. Если вы хотите сделать простое извлечение, то отлично подойдут Left, Right и Mid.

Использование InStr для проверки, содержит ли строка текст

В следующем примере мы проверяем, содержит ли ФИО «Петрович». Если возвращаемое значение InStr больше нуля, то строка содержит значение, которое мы проверяем.

' Проверьте, содержит ли строка Петрович
    If InStr("Иван Петрович Сидоров", "Петрович") > 0 Then
        Debug.Print "Найдено"
    End If

Извлечение с Left, Right и Mid

Функция Left используется для получения символов слева от строки.
Функция Right используется для получения символов справа от строки.
Функция Mid используется для середины строки. Она такая же, как
Left, за исключением того, что вы даете ему стартовую позицию.

Sub IzvlechTekst()

    Dim s As String: s = "ABCD-7789.WXYZ"

    Debug.Print Left(s, 2) ' Печатает AB
    Debug.Print Left(s, 4) ' Печатает ABCD

    Debug.Print Right(s, 2) ' Печатает YZ
    Debug.Print Right(s, 4) ' Печатает WXYZ

    Debug.Print Mid(s, 1, 2) ' Печатает AB
    Debug.Print Mid(s, 6, 4) ' Печатает 7789

End Sub

VBA Left, Right and Mid

Эти три функции работают нормально, если требуемый текст всегда одинакового размера и в одном и том же месте. Для других сценариев они требуют использования InStr, чтобы найти определенную позицию в строке. Это усложняет их использование.

Используйте Left, Right или Mid, когда символы всегда будут в одной и той же позиции.

Работа со строками различной длины

Многие из строк, с которыми вы имеет дело, разной длины. Простой пример — когда у вас есть дело со списком имен. Длина строки и требуемая часть (например, имя) могут каждый раз отличаться. Например:

Brooke Hilt
Pamela Jurado
Zack Kinzel
Eddy Wormley
Kaitlyn Rainer
Jacque Trickett
Kandra Stanbery
Margo Hoppes
Berenice Meier
Garrett Hyre

(Если вам нужен случайный список имен, попробуйте этот генератор случайных имен)

Использование функции VBA InStr с Left

В следующем примере мы собираемся получить имя из строки. В этой строке первое имя — это имя перед первым пробелом.

Мы используем функцию VBA InStr, чтобы получить позицию первого пробела. Мы хотим получить все символы до пробела. Мы вычитаем одну из позиции, так как это дает нам позицию последней буквы имени.

Sub PoluchitImya()

    Dim s As String, lPosition As Long

    s = "John Henry Smith"
    ' Печатает John
    lPosition = InStr(s, " ") - 1
    Debug.Print Left(s, lPosition)

    s = "Lorraine Huggard"
    ' Печатает Lorraine
    lPosition = InStr(s, " ") - 1
    Debug.Print Left(s, lPosition)

End Sub

Давайте посмотрим на первый пример в приведенном выше коде. Первый пробел находится в позиции 5. Мы вычтем 1, что дает нам позицию 4. Это позиция последней буквы John, т.е.

VBA InStr and Left

Затем мы даем 4 функции Left, и она возвращает первые четыре символа, например, «John»

Мы можем выполнить ту же задачу в одной строке, передав возвращаемое значение из InStr в функцию Left.

 Dim s As String
    s = "John Henry Smith"

    ' Печатает John
    Debug.Print Left(s, InStr(s, " ") - 1)

Использование функции VBA InStr с Right

В этом примере мы получим последнее слово в строке, то есть Smith. Мы можем использовать функцию InStrRev. Это то же самое, что InStr, за исключением того, что поиск выполняется с конца строки.

Важно отметить, что InStrRev дает нам позицию с начала строки. Поэтому нам нужно использовать его немного иначе, чем мы использовали InStr и Left.

Sub PoluchitFamiliyu()

    Dim s As String: s = "John,Henry,Smith"
    Dim Position As Long, Length As Long

    Position = InStrRev(s, ",")
    Length = Len(s)

    ' Печатает Smith
    Debug.Print Right(s, Length - Position)

    ' Альтернативный метод. Печатает Smith - делает в одну строку
    Debug.Print Right(s, Len(s) - InStrRev(s, ","))

End Sub

Как работает приведенный выше пример:

  • Мы получаем позицию последнего пробела, используя InStrRev: 11
  • Мы получаем длину строки: 16.
  • Вычитаем позицию из длины: 16-11 = 5
  • Мы даем 5 функции Right и возвращаем Smith

VBA Instr and Right

Использование функции VBA InStr с Mid

В следующем примере мы получим «Henry» из строки. Слово, которое мы ищем, находится между первым и вторым пробелом.

Мы будем использовать функцию Mid здесь.

Sub PoluchitVtoroeImya()

    Dim s As String: s = "John Henry Smith"

    Dim firstChar As Long, secondChar As Long
    Dim count As Long

    ' Найти пробел плюс 1. Результат 6
    firstChar = InStr(s, " ") + 1
    ' Найти 2-й пробел. Результат 11
    secondChar = InStr(firstChar, s, " ")
    ' Получить число символов. Результат 5
    count = secondChar - firstChar

    ' Печатает Henry
    Debug.Print Mid(s, firstChar, count)

End Sub

Как видите, это сложно сделать и требует немного усилий, чтобы выяснить. Нам нужно найти первое место. Тогда нам нужно найти второе место. Затем мы должны вычесть одно из другого, чтобы дать нам количество символов, которые нужно взять.

VBA Instr and Mid

Если у вас есть строка с большим количеством слов, то это может быть очень сложно. К счастью для нас, гораздо проще было извлечь символы из строки. Это называется функцией Split.

Функция Split

Мы можем использовать функцию Split для выполнения приведенных выше примеров. Функция Split разбивает строку на массив. Тогда мы можем легко получить доступ к каждому элементу.

Давайте попробуем те же три примера еще раз, и на этот раз мы будем использовать Split.

  Dim s As String: s = "John Henry Smith"

    Debug.Print Split(s, " ")(0) ' John
    Debug.Print Split(s, " ")(1) ' Henry
    Debug.Print Split(s, " ")(2) ' Smith

Ого! Какая разница с использованием Split. Как это работает:

  1. Функция Split разбивает строку везде, где есть пробел.
  2. Каждый элемент помещается в массив, начиная с нуля.
  3. Используя номер местоположения, мы можем получить доступ к элементу массива.  

В следующей таблице показано, как может выглядеть массив после использования Split.

Примечание: первая позиция в массиве равна нулю. Наличие нулевых массивов является стандартным в языках программирования.

0 1 2
John Henry Smith

В приведенном выше коде мы разделяем строку каждый раз, когда ее используем. Мы также можем разделить строку один раз и сохранить ее в переменной массива. Тогда мы можем получить к нему доступ, когда захотим.

Sub SplitName()
    Dim s As String: s = "John Henry Smith"
    Dim arr() As String
    arr = Split(s, " ")

    Debug.Print arr(0) ' John
    Debug.Print arr(1) ' Henry
    Debug.Print arr(2) ' Smith
End Sub

Если вы хотите узнать больше о массивах, я написал о них целую статью под названием «Полное руководство по использованию массивов в Excel VBA».

В следующих разделах мы рассмотрим примеры из реальной жизни. Вы увидите преимущество использования Split вместо функции InStr.

Пожалуйста, не стесняйтесь попробовать это сами. Это отличный способ учиться, и вы можете повеселиться, пытаясь понять их (или, может быть, только у меня так!)

Пример 1: Получение части имени файла

Представьте, что мы хотим извлечь числа из следующих имен файлов

«VB_23476_Val.xls»
«VV_987_Val.txt»
«VZZA_12223_Val.doc»

Это похоже на пример, где мы получаем второй элемент. Чтобы получить значения здесь, мы используем подчеркивание (то есть «_»), чтобы разбить строку. Смотрите пример кода ниже:

Sub PoluchitNomer()

    ' Печатает 23476
    Debug.Print Split("VB_23476_Val.xls", "_")(1)
    ' Печатает 987
    Debug.Print Split("VV_987_Val.txt", "_")(1)
    ' Печатает 12223
    Debug.Print Split("ABBZA_12223_Val.doc", "_")(1)

End Sub

В реальном мире вы обычно читаете такие строки из разных ячеек. Допустим, эти имена файлов хранятся в ячейках от А1 до А3. Мы немного изменим приведенный выше код:

Sub ChitatNomera()

    Dim c As Range
    For Each c In Range("A1:A3")
        ' Разделите каждый элемент по мере его прочтения
        Debug.Print Split(c, "_")(1)
    Next c

End Sub

Пример 2: диапазон IP-адресов

Пример здесь взят из вопроса на веб-сайте StackOverflow.

У пользователя есть строка с IP-адресом в формате «BE-ABCDDD-DDS 172.16.23.3».

Он хочет, чтобы IP в диапазоне от 172,16 до 172,31 был действительным. Так например:

  • «BE-ABCDDD-DDS 172.16.23.3» действителен
  • «BE-ABCDDD-DDS 172.25.23.3» действителен
  • «BE-ABCDDED-DDS 172.14.23.3» не действителен
  • «BE-ABCDDDZZ-DDS 172.32.23.3» не действителен

Вот как бы я это сделал. Сначала я разбил строку по периодам. Число, которое мы ищем, находится между первым и вторым периодом. Поэтому это второй пункт. Когда мы разделяем строку, она помещается на первую позицию в массиве (помните, что массив начинается с нулевой позиции).

Полученный массив будет выглядеть так:

0 1 2 3
BE-ABCDDD-DDS 172 31 23 3

Код ниже показывает, как это сделать.

Sub IPAdd()

    ' Проверьте номер, чтобы проверить разные IP-адреса
    Dim s1 As String: s1 = "BE-ABCDDD-DDS 172.31.23.3"

    ' Разбить строку, используя символ точки
    Dim num As Long
    num = Split(s1, ".")(1)

    ' Проверьте правильность номера
    Debug.Print num >= 16 And num <= 31

End Sub

Пример 3. Проверьте правильность имени файла

В этом последнем примере мы хотим проверить правильность имени файла. Есть три правила.

  1. Должно заканчиваться на .pdf
  2. Он должен содержать АА
  3. Он должен содержать 1234 после А

В следующих таблицах показаны некоторые допустимые и недействительные элементы:

Имя файла Статус
AA1234.pdf Действителен
AA_ljgslf_1234.pdf Действителен
AA1234.pdf1 Недействительно — не заканчивается на .pdf
1234 AA.pdf Недействительно — АА не до 1234
12_AA_1234_NM.pdf Действителен

Сначала мы сделаем это, используя функции InStr и Right.

Sub IspInstr()

    Dim f As String: f = "AA_1234_(5).pdf"

    ' Сначала найдите АА, так как 1234 должен идти после
    Dim lPos As Long: lPos = InStr(f, "AA")
    ' Ищите 1234 и убедитесь, что последние четыре символа - .pdf
    Debug.Print InStr(lPos, f, "1234") > 0 And Right(f, 4) = ".pdf"

End Sub

Этот код очень грязный. К счастью для нас, у VBA есть Сравнение с шаблоном. Мы можем проверить шаблон строки без необходимости искать элементы и позиции и т.д. Мы используем оператор Like в VBA для сопоставления с шаблоном. Пример ниже показывает, как это сделать.

Sub IspSravnenie()

    Dim f As String: f = "AA_1234_(5).pdf"

    ' Определить шаблон
    Dim pattern As String: pattern = "*AA*1234*.pdf"
    ' Проверьте каждый элемент по шаблону
    Debug.Print f Like pattern   ' ИСТИНА

End Sub

В приведенном выше примере звездочка в шаблоне относится к любому количеству символов.

Давайте разберем этот паттерн * AA * 1234 * .pdf

*- любая группа символов
AA — точные символы AА

*- любая группа символов
1234 — точные символы 1234

*- любая группа символов
.pdf — точные символы .pdf

Чтобы показать, что это работает правильно, давайте попробуем это на всех именах примеров в таблице.

Sub IspSravnenieTest()

    ' Создать коллекцию имен файлов
    Dim coll As New Collection
    coll.Add "AA1234.pdf"
    coll.Add "AA_ljgslf_1234.pdf"
    coll.Add "AA1234.pdf1"
    coll.Add "1234 AA.pdf"
    coll.Add "12_AA_1234_NM.pdf"

    ' Определить шаблон
    Dim pattern As String: pattern = "*AA*1234*.pdf"

    ' Проверьте каждый элемент по шаблону
    Dim f As Variant
    For Each f In coll
        Debug.Print f Like pattern
    Next f

End Sub

На выходе:

ИСТИНА
ИСТИНА
ЛОЖЬ
ЛОЖЬ
ИСТИНА

Чтобы узнать больше о сопоставлении с шаблоном и ключевом слове Like, ознакомьтесь с этой публикацией.

Заключение

InStr и InStrRev действительно полезны только для простых задач, таких как проверка наличия текста в строке.

Left, Right и Mid полезны, когда положение текста всегда одинаково.

Функция Split — лучший способ извлечь переменную строку.

При попытке проверить формат строки, которая не является фиксированной по размеру, ключевое слово Like (т.е. Сопоставление с образцом) обычно обеспечивает более простое решение.

 

shooombj

Пользователь

Сообщений: 15
Регистрация: 01.01.1970

Здравствуйте! Подскажите, пожалуйста, как вынести в соседний столбец символы, которые идут до первого пробела? Файл прилагаю. Операция необходима, чтобы заполнить столбец «Артикул».  

  <EM><STRONG>Файл удален</STRONG> — велик размер — [<STRONG>МОДЕРАТОРЫ</STRONG>]</EM>

 

Serge

Пользователь

Сообщений: 11308
Регистрация: 01.01.1970

Здравствуйте.  
Либо:  
=ЛЕВСИМВ(C6;НАЙТИ(» «;C6))  
либо макросом.

 

shooombj

Пользователь

Сообщений: 15
Регистрация: 01.01.1970

 

Serge

Пользователь

Сообщений: 11308
Регистрация: 01.01.1970

А как в 2010 — м посмотреть размер файла не скачивая его? Я видимо косякнул, но даже проверить не могу сколько он весит не сохраняя его :)

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

Автору срочно необходимо посетить страничку  

http://www.planetaexcel.ru/forum.php?thread_id=8735  

  Сергей, я вижу размер файла еще до скачивания, когда Опера предлагает варианты дальнейших действий.

 

Serge

Пользователь

Сообщений: 11308
Регистрация: 01.01.1970

{quote}{login=vikttur}{date=18.09.2010 10:01}{thema=}{post}  
Сергей, я вижу размер файла еще до скачивания, когда Опера предлагает варианты дальнейших действий.{/post}{/quote}А я нет!!! Дома у меня мозилла и 2010 офис, и когда я кликаю по вложению, то оно тупо скачивается, независимо от размера :(((  
Мне это не нравится. Хотя трафик не важен (у меня дома безлимит) но я не хочу помогать нарушителям… Вот я и спрашиваю: Как размер файла увидеть раньше чем его скачал?

 

Serge

Пользователь

Сообщений: 11308
Регистрация: 01.01.1970

{quote}{login=Serge 007}{date=18.09.2010 10:06}{thema=Re: }{post}{quote}{login=vikttur}{date=18.09.2010 10:01}{thema=}{post}  
Сергей, я вижу размер файла еще до скачивания, когда Опера предлагает варианты дальнейших действий.{/post}{/quote}А я нет!!! Дома у меня мозилла и 2010 офис, и когда я кликаю по вложению, то оно тупо скачивается, независимо от размера :(((  
Мне это не нравится. Хотя трафик не важен (у меня дома безлимит) но я не хочу помогать нарушителям… Вот я и спрашиваю: Как размер файла увидеть раньше чем его скачал?{/post}{/quote}В 2003 это просто, там делать даже ничего не надо, это по умолчанию…

 

Serge

Пользователь

Сообщений: 11308
Регистрация: 01.01.1970

{quote}{login=The_Prist}{date=18.09.2010 10:08}{thema=Re: Re: }{post}{quote}{login=Serge 007}{date=18.09.2010 10:06}{thema=Re: }{post}Как размер файла увидеть раньше чем его скачал?{/post}{/quote}В Мозиле никак. Только после. Инструменты-Загрузки. Там показывается в окошке размер скачанного файла.{/post}{/quote}Ctrщё поэксперементирую,l+J? Оно мне пустое окно даёт :(((  
Ща ещё поэксперементирую, спасибо Дим!

 

Serge

Пользователь

Сообщений: 11308
Регистрация: 01.01.1970

{quote}{login=Serge 007}{date=18.09.2010 10:10}{thema=Re: Re: Re: }{post}}Ctrщё поэксперементирую,l+J? Оно мне пустое окно даёт :(((  
Ща ещё поэксперементирую, спасибо Дим!{/post}{/quote}Чё-то фигня какая-то, чя писал не это, и вроде не цитировал — часть правильно — часть нет :(((

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

Это твои вирусы (все еще болеешь?) на клаву упали :)

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

shooombj уже поспасибился и ушел.  
Не брать пробел:  
=ЛЕВСИМВ(C6;НАЙТИ(» «;C6)-1)

 

Serge

Пользователь

Сообщений: 11308
Регистрация: 01.01.1970

{quote}{login=vikttur}{date=18.09.2010 10:21}{thema=}{post}все еще болеешь?) на клаву упали :){/post}{/quote}Не думаю )))

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

Серж, поставь Оперу и не мучайся

 

Serge

Пользователь

Сообщений: 11308
Регистрация: 01.01.1970

{quote}{login=Юрий М}{date=19.09.2010 10:15}{thema=Re: Re: }{post}Серж, поставь Оперу и не мучайся{/post}{/quote}Юрий, спасибо. И Опера и Ишак есть, но мне больше годзилла нравится и по-умолчанию открывается она…

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

Тогда не спрашивай больше про предварительный просмотр размера файла :-)  
P.S. Пусть дефолтно годзилла, а Планету открывай в Опере.

 

kim

Пользователь

Сообщений: 3139
Регистрация: 23.12.2012

Игорь

Я тоже не вижу размер предварительно. Опера 10.53

 

Serge

Пользователь

Сообщений: 11308
Регистрация: 01.01.1970

{quote}{login=Юрий М}{date=19.09.2010 11:46}{thema=}{post}Тогда не спрашивай больше про предварительный просмотр размера файла :-)  
P.S. Пусть дефолтно годзилла, а Планету открывай в Опере.{/post}{/quote}Ну дык я не только на Планете… Думал что можно как-то :(((  

  ЗЫ А что, может можно установить каким браузером какой сайт открывать?

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

Я просто сделал для Оперы домашней страницей Планету.

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

{quote}{login=kim}{date=19.09.2010 11:58}{thema=}{post}Я тоже не вижу размер предварительно. Опера 10.53{/post}{/quote}  
У меня Опера 10.61  
ЛКМ, открывается окошко «Загрузка файла — Открыть, Сохранить, Отмена, Справка».  
В верхней строке имя и размер файла.

 

Serge

Пользователь

Сообщений: 11308
Регистрация: 01.01.1970

{quote}{login=Юрий М}{date=19.09.2010 12:00}{thema=}{post}Я просто сделал для Оперы домашней страницей Планету.{/post}{/quote}Спс, ща поколдую :-)

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

{quote}{login=vikttur}{date=19.09.2010 12:04}{thema=Re: }{post}{quote}{login=kim}{date=19.09.2010 11:58}{thema=}{post}Я тоже не вижу размер предварительно. Опера 10.53{/post}{/quote}У меня Опера 10.61  
ЛКМ, открывается окошко «Загрузка файла — Открыть, Сохранить, Отмена, Справка».  
В верхней строке имя и размер файла.{/post}{/quote}  
Аналогично.

 

{quote}{login=Serge 007}{date=19.09.2010 11:59}{thema=Re: }{post}{quote}{login=Юрий М}{date=19.09.2010 11:46}{thema=}{post}Тогда не спрашивай больше про предварительный просмотр размера файла :-)  
P.S. Пусть дефолтно годзилла, а Планету открывай в Опере.{/post}{/quote}  
ЗЫ А что, может можно установить каким браузером какой сайт открывать?{/post}{/quote}  
Можно — каким движком, если… установить комбайн Lunascape6 — в нем три-в-одном. По-моему появился и у других выбор.  
Z.  
19256

 

kim

Пользователь

Сообщений: 3139
Регистрация: 23.12.2012

Игорь

Не, у меня такого окошка нет, надо бы поколдовать с настройками…

 

Diana

Пользователь

Сообщений: 982
Регистрация: 28.12.2012

{quote}{login=Serge 007}{date=19.09.2010 11:59}{thema=Re: }{post}{quote}{login=Юрий М}{date=19.09.2010 11:46}{thema=}{post}Тогда не спрашивай больше про предварительный просмотр размера файла :-)  
P.S. Пусть дефолтно годзилла, а Планету открывай в Опере.{/post}{/quote}Ну дык я не только на Планете… Думал что можно как-то :(((  

  ЗЫ А что, может можно установить каким браузером какой сайт открывать?{/post}{/quote}  

  Можно… Есть скрипт, который фильтрует URL адреса. Т.е. если Вы работаете, например, в Google Chrom, нажимаете в яндексе на

www.planetaexcel.ru

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

 

Serge

Пользователь

Сообщений: 11308
Регистрация: 01.01.1970

{quote}{login=Diana Tailor}{date=19.09.2010 12:12}{thema=Re: Re: }{post}  
Можно… Есть скрипт, который фильтрует URL адреса. Т.е. если Вы работаете, например, в Google Chrom, нажимаете в яндексе на

www.planetaexcel.ru

(или в закладке или где-то), открывается другой браузер.  
Не уверена, что он у меня с собой на буке есть, дома точно есть ткой скрипт.{/post}{/quote}Буду признателен. В размерах разумного :)  
Это мне больше всего подходит.  

  ЗЫ Z спасибо, но это я не осилю :(

 

Serge

Пользователь

Сообщений: 11308
Регистрация: 01.01.1970

{quote}{login=Diana Tailor}{date=19.09.2010 12:12}{thema=Re: Re: }{post}  
Можно… Есть скрипт, который фильтрует URL адреса. Т.е. если Вы работаете, например, в Google Chrom, нажимаете в яндексе на

www.planetaexcel.ru

(или в закладке или где-то), открывается другой браузер.  
Не уверена, что он у меня с собой на буке есть, дома точно есть ткой скрипт.{/post}{/quote}Буду признателен. В размерах разумного :)  
Это мне больше всего подходит.  

  ЗЫ Z спасибо, но это я не осилю :(

 

Diana

Пользователь

Сообщений: 982
Регистрация: 28.12.2012

Сергей, насколько я поняла, у Вас Мозилла.  
тогда вот такая штучка подойдет  

https://addons.mozilla.org/ru/firefox/addon/1429/  

  к сожалению с собой на буке скриптика не оказалось :(

 

Serge

Пользователь

Сообщений: 11308
Регистрация: 01.01.1970

{quote}{login=Diana Tailor}{date=19.09.2010 12:27}{thema=}{post}Сергей, насколько я поняла, у Вас Мозилла.  
тогда вот такая штучка подойдет  

https://addons.mozilla.org/ru/firefox/addon/1429/  

  к сожалению с собой на буке скриптика не оказалось :({/post}{/quote}Ага, смотрю. СПС!

 

Diana

Пользователь

Сообщений: 982
Регистрация: 28.12.2012

{quote}{login=Diana Tailor}{date=19.09.2010 12:27}{thema=}{post}Сергей, насколько я поняла, у Вас Мозилла.  
тогда вот такая штучка подойдет  

https://addons.mozilla.org/ru/firefox/addon/1429/  

  к сожалению с собой на буке скриптика не оказалось :({/post}{/quote}  

  либо OperaView

 

shooombj

Пользователь

Сообщений: 15
Регистрация: 01.01.1970

#30

19.09.2010 19:40:25

{quote}{login=vikttur}{date=18.09.2010 10:23}{thema=}{post}shooombj уже поспасибился и ушел.  
Не брать пробел:  
=ЛЕВСИМВ(C6;НАЙТИ(» «;C6)-1){/post}{/quote}  

  Я тут) Спасибо еще раз!

Формулировка задачи:

До цикла выражения выполняются нормально,внутри цикла ошибка Invalid procedure call

Код к задаче: «Чтение строки до пробела»

textual

Function GetFIO(aFIO As String) As String
    Dim a: a = Split(WorksheetFunction.Trim(aFIO))
    If UBound(a) < 2 Then Exit Function
    GetFIO = a(0) & " " & Left(a(1), 1) & "." & Left(a(2), 1) & "."
End Function

Полезно ли:

7   голосов , оценка 4.000 из 5

Понравилась статья? Поделить с друзьями:
  • Excel vba стрелка вниз
  • Excel vba страничный режим
  • Excel vba страница с текстом
  • Excel vba столбец именованного диапазона
  • Excel vba столбец активной ячейки