Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 40 След.
Как удалить дубли слов внутри 1 ячейки?
 
Бахтиёр, приветствую. Мне кажется, так буде несколько проще (сделал UDF). Впрочем, могу ошибаться
Код
Function tt(t As String) As String
    Dim col As Object, arr, i  As Long
    Set col = CreateObject("scripting.dictionary")
    col.comparemode = Text
    arr = Split(t)
    For i = 0 To UBound(arr)
        If col.exists(arr(i)) Then arr(i) = "" Else col.Add arr(i), 0
    Next
    tt = Join(arr)
End Function

Как разделить фразы в два столбика?
 
Макрос рассчитан на то, что исходные данные находятся в столбце А начиная со 2-й строки, как в приведенном Вами примере. Если хотите, приложите реальный файл
Как разделить фразы в два столбика?
 
Цитата
krestsoft написал:
1) Если первой во фразе стоит цифра, то в первом столбике оказывается она, а в другом всё остальное.
для универсальности нужно так.Pattern = ".{1,30} "  
Макрос вставляется так
Как разделить фразы в два столбика?
 
Если на регулярках, то проще так
Код
Sub tt()
    Dim arr(), arr1(), arr2(), i As Long, m As Object, u As Long
    On Error Resume Next
    arr = Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row).Value
    If Err Then
        ReDim arr(1 To 1, 1 To 1)
        arr(1, 1) = Range("A2")
        Err.Clear
    End If
    u = UBound(arr)
    ReDim arr1(1 To u, 1 To 1): ReDim arr2(1 To u, 1 To 1)
    With CreateObject("VBScript.Regexp")
        .IgnoreCase = True
        .Pattern = "[а-яё ]{1,30} "
        For i = 1 To u
            Set m = .Execute(arr(i, 1))
            If m.Count <> 0 Then
                arr1(i, 1) = Trim(m(0))
                arr2(i, 1) = Trim(Right(arr(i, 1), Len(arr(i, 1)) - Len(arr1(i, 1))))
            End If
        Next
    End With
    Range("B2").Resize(u, 1) = arr1
    Range("C2").Resize(u, 1) = arr2
End Sub



Обрезать слева и справа лишнее, код удаления по бокам
 
next777pro, а самостоятельно Trim добавить, по аналогии с уже предложенными вариантами?
Обрезать слева и справа лишнее, код удаления по бокам
 
Возможно, я что-то не так понял, но у меня так получилось
Код
Function tt$(text As String)
    With CreateObject("VBScript.Regexp")
        .Global = True
        .Pattern = "(^|\D)0+"
        tt = .Replace(text, "$1")
        .Pattern = "(^.+?-)|(/[^/]+)"
        tt = .Replace(tt, " ")
    End With
End Function



Обрезать слева и справа лишнее, код удаления по бокам
 
Не проще сразу убирать лидирующие нули?
Код
Function tt$(text As String)
    With CreateObject("VBScript.Regexp")
        .Global = True
        .Pattern = "(^|\D)0+"
        tt = .Replace(text, "$1")
    End With
End Function



Подсчет товара и поддонов
 
Как-то так
Код
=ОТБР(A1/100) & " п. " & ОСТАТ(A1;100) & " б."

Сортировка данных в таблице - решение для всего документа, ГОТОВЫЕ РЕШЕНИЯ
 
JeyCi, спасибо за ответ, Вы как обычно не только скрупулезны, но и любезны :)
Сортировка данных в таблице - решение для всего документа, ГОТОВЫЕ РЕШЕНИЯ
 
Цитата
Sanja написал:
появилось готовое решение для Вашей задачи, но я не готов отдать его Вам задаром
пичалька  :cry:. Кстати, а что надо делать: отфильтровать и оставить в куче таблиц или собрать все на отдельный лист? Если  второй способ, то полюбопытствую: Вы не сравнивали поочередную фильтрацию с переносом видимых диапазонов с применением макросов и коллекций?
Счёт ячеек при определённом условии
 
alex1210, если не считать того, что Вы перепутали столбцы J и G, то как вариант
Код
=СУММПРОИЗВ(--(G7:G35<B4);--(G7:G35<>"");--(J7:J35<>"выполнено"))


Ячейка с текстом и автозаполнение числа в соседней ячейке
 
Kuzmich, бедная услуга  :cry:
Ячейка с текстом и автозаполнение числа в соседней ячейке
 
Цитата
Glamka написал: Когда я выдираю из списка услугу
С кровью?
Удалить числа с тире и со словами
 
Как вариант, удаляет все, что где есть знаки, отличающиеся от чисел, точки или запятой
Код
Sub tt()
    Dim arr(), i As Long
    arr = Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row)
    With CreateObject("VBScript.Regexp")
        .Pattern = "[^\d\.,]"
        For i = 1 To UBound(arr)
            If .test(arr(i, 1)) Then arr(i, 1) = ""
        Next
    End With
    Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row) = arr
End Sub
Поиск текста по неполному соответствию
 
По-моему, проще макросом
Код
Sub tt()
    Dim arr(), i As Long, col As New Collection, s As String
    s = Range("C3").Value
    s = Right(s, Len(s) - 1) 'эта строка нужна, потому что у первый символ "'"
    arr = Range("A4:A" & Cells(Rows.Count, 1).End(xlUp).Row)
    For i = 1 To UBound(arr)
        If arr(i, 1) Like "*" & s & "*" Then col.Add arr(i, 1)
    Next
    If col.Count = o Then Exit Sub
        ReDim arr(1 To col.Count, 1 To 1)
    For i = 1 To col.Count
        arr(i, 1) = col(i)
    Next
    Range("C4:C" & WorksheetFunction.Max(Cells(Rows.Count, 3).End(xlUp).Row, 4)).ClearContents
    Range("C4").Resize(col.Count, 1).Value = arr
End Sub

Ввод данных в столбец из названия кнопок, Вод данных в первый столбец в зависимости от нажатия кнопок
 
Как вариант, вот такой макрос
Код
Sub tt(N As Integer)
    Range("A" & Cells(Rows.Count, "A").End(xlUp).Row) = N
End Sub
 
На кнопки вешаете типа такого
Код
Sub tt_1()
    Call tt(1)
End Sub

Пробелы: какими формулами, кроме СЖПРОБЕЛЫ, можно удалить пробелы?
 
Мотя, так я тоже не занимаюсь, я так иногда от работы отдыхаю :)
Пробелы: какими формулами, кроме СЖПРОБЕЛЫ, можно удалить пробелы?
 
Мотя, методы WorksheetFunction представляют из себя, как и следует из названия, функции рабочего листа эксель, иногда бывает очень удобно, например, как в данной ситуации, для транспонирования массивов и т.д
Пробелы: какими формулами, кроме СЖПРОБЕЛЫ, можно удалить пробелы?
 
Мотя,странно, у меня отработал, как положено. Ждем, когда ТС отпишется
Пробелы: какими формулами, кроме СЖПРОБЕЛЫ, можно удалить пробелы?
 
Мотя, так СЖПРОБЕЛЫ (WorksheetFunction.Trim) как раз и удаляет и все пробелы, кроме одиночных между словами, в отличии от функции ВБА Trim, которая удаляет пробелы только по краям строки
Пробелы: какими формулами, кроме СЖПРОБЕЛЫ, можно удалить пробелы?
 
Цитата
Gaidar39 написал: Я понимаю что есть guru инженеры excel
Я, правда, не гуру и вообще не инженер, но подумайте об использовании макросов, чтобы избежать использования допстолбцов и пересчетов.
Код
Sub tt()
    Dim Rng As Range, arr(), i
    Set Rng = Range("E1:E" & Cells(Rows.Count, "E").End(xlUp).Row)
    arr = Rng
    For i = 1 To UBound(arr)
        If Len(arr(i, 1)) <> 0 Then arr(i, 1) = WorksheetFunction.Trim(arr(i, 1))
    Next
    Rng = arr
End Sub

Sub ttt()
    Dim Rng As Range, arr(), i
    Set Rng = Range("J1:J" & Cells(Rows.Count, "J").End(xlUp).Row)
    arr = Rng
    For i = 1 To UBound(arr)
        If Len(arr(i, 1)) <> 0 Then arr(i, 1) = RTrim(arr(i, 1))
    Next
    Rng = arr
End Sub

Как удалить хэштеги из текста
 
Андрей, спасибо. Мне, как любителю-самоучке, такие крохи информации полученной от профессионалов, весьма интересны
Как удалить хэштеги из текста
 
Андрей, обсуждали в этой же теме, начиная с 7-го сообщения. Было бы интересно Ваше мнение по данному поводу
Как удалить хэштеги из текста
 
 Андрей, Вы как всегда правы. Единственное, не помню, а $ этот метасимвол обрабатывает? Кстати, смотрю, Вы тоже диапазон переменной присваиваете? А то, у нас небольшая дискуссия произошла по этому поводу
Как удалить хэштеги из текста
 
puzin, выберите ячейки, которые не обработались, рыться в 60к строк желания нет
Как удалить хэштеги из текста
 
Так попробуйте, расскажите
Код
Sub tt()
    Dim arr(), i As Long, Rng As Range
    Set Rng = Range("A2:A" & Cells(Rows.Count, "A").End(xlUp).Row)
    arr = Rng
    On Error Resume Next
    With CreateObject("VBScript.RegExp")
        .Global = True
        .Pattern = "#.*?( |$)"
        .MultiLine = True
        For i = 1 To UBound(arr)
            arr(i, 1) = WorksheetFunction.Trim(.Replace(arr(i, 1), ""))
        Next
    End With
    Sheets("лист1").Range("A1").Resize(UBound(arr)) = arr
End Sub

Как удалить хэштеги из текста
 
В общем, проблема у Вас на строке 48267. Если удалить из строки участок "=========================\", макрос срабатывает. Как вариант обхода проблемы, добавить в код On Error Resume Next, но тогда эта строка неправильно обрабатывается. Что конкретно не нравится регулярке, мне не понятно. Если у кого-то естьмысли по этому поводу, с радостью выслушаю
UPD если обрабатывать одну эту строку, обрабатывает, почему-то, правильно
Изменено: МВТ - 9 Май 2016 13:38:38
Как удалить хэштеги из текста
 
Цитата
puzin написал: Прошу внести дополнения.
Так в чем проблема? Основа сделана, поиграться с паттерном и свойствами регулярки несложно. А убрать лишние пробелы - вообще не сложно.  Изучайте, экспериментируйте...
Найти и сгруппировать уникальные строки., Найти и сгруппировать уникальные строки по заданным параметрам.
 
Макрос: массив + словарь
Как удалить хэштеги из текста
 
Sanja, не буду спорить с профессионалом - в теории позорно слаб, как и все самоучки. На самом деле, думаю, что в реальности заметить разницу между двумя этими способами будет невозможно. Хотя вопрос получился интересный, даже забылась первоначальная тема и отсутствие ТС в глаза не бросается  :D
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 40 След.
Наверх