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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 210 След.
Сортировка в каждом блоке группировки
 
Цитата
Подскажите как сделать сортировку разом в каждом блоке
Макросом определяем границы каждой группы по отступу=1 и сортируем найденный диапазон
Добавление символа после определенных значений.
 
Код
Sub Tablica()
Dim i As Long
Dim iLastRow As Long
Dim iDoza As Integer
 iLastRow = Cells(Rows.Count, 1).End(xlUp).Row
 With CreateObject("VBScript.RegExp")
     .Global = True
     .IgnoreCase = True
     .Pattern = "№\d+$"
  For i = 2 To iLastRow
    If .Test(Cells(i, "A")) Then
      iDoza = Mid(Cells(i, "A"), .Execute(Cells(i, "A"))(0).FirstIndex + 2)
      Cells(i, "A") = Left(Cells(i, "A"), .Execute(Cells(i, "A"))(0).FirstIndex + 1) & iDoza * 10
    End If
  Next
 End With
End Sub
Разбивка данных ячеек по стобцам.
 
Цитата
данные из ячеек столбца А были разделены по разным столбцам
Как вытащить наименование придумайте сами
Код
Sub Tablica()
Dim i As Long
Dim iLastRow As Long
 iLastRow = Cells(Rows.Count, 1).End(xlUp).Row
 Range("C2:G" & iLastRow).ClearContents
 With CreateObject("VBScript.RegExp")
     .Global = True
     .IgnoreCase = True
  For i = 2 To iLastRow
    If InStr(1, Cells(i, "A"), "Клубная цена:") > 1 And _
       InStr(1, Cells(i, "A"), "По акции:") = 0 Then
      .Pattern = "Клубная цена:\d+p"
      Cells(i, "C") = .Execute(Cells(i, "A"))(0)
    End If
    If InStr(1, Cells(i, "A"), "Обычная цена:") > 1 And _
       InStr(1, Cells(i, "A"), "По акции:") = 0 Then
      .Pattern = "Обычная цена:\d+p"
      Cells(i, "D") = .Execute(Cells(i, "A"))(0)
    End If
    If InStr(1, Cells(i, "A"), "Обычная цена:") > 1 And _
       InStr(1, Cells(i, "A"), "По акции:") > 1 Then
      .Pattern = "По акции: \d+p"
      Cells(i, "E") = .Execute(Cells(i, "A"))(0)
      .Pattern = "Обычная цена:\d+p"
      Cells(i, "F") = .Execute(Cells(i, "A"))(0)
    End If
    If InStr(1, Cells(i, "A"), "Клубная цена:") = 0 And _
       InStr(1, Cells(i, "A"), "Обычная цена:") = 0 And _
       InStr(1, Cells(i, "A"), "По акции:") = 0 Then
      .Pattern = "\d+p"
      Cells(i, "G") = .Execute(Cells(i, "A"))(0)
    End If
  Next
 End With
End Sub
Изменено: Kuzmich - 17 Окт 2019 15:08:14
Поиск цифровых значений в ячейке, Поиск цифрового значения в ячейке при определенных условиях
 
Razdva, Попробуйте так
Код
Sub iDigits_()
Dim i As Long
Dim iLastRow As Long
Dim iString As String
 iLastRow = Cells(Rows.Count, 1).End(xlUp).Row
 With CreateObject("VBScript.RegExp")
     .Global = True
     .IgnoreCase = True
    Range("C1:C" & iLastRow).ClearContents
  For i = 1 To iLastRow
    .Pattern = "\d+(\,?\d+)?[-+/ ](\d+(\,?\d+)?)?"
    iString = Split(LCase(Cells(i, "A")), "розмірний ряд")(1)
    If .Test(iString) Then
      Cells(i, "C") = .Execute(iString)(0)
    Else
      .Pattern = "\d+(\,?\d+)? ?(?=кг|гр|gr|разніе)"
      If .Test(iString) Then
        Cells(i, "C") = .Execute(iString)(0)
      End If
    End If
  Next
 End With
End Sub

Или UDF
Код
Function iDigits(cell$)
 With CreateObject("VBScript.RegExp")
     .Global = True
     .IgnoreCase = True
     .Pattern = "\d+(\,?\d+)?[-+/ ]?(\d+(\,?\d+)?)? ?(?=шт|г|кг|гр|gr|разніе)"
     iDigits = .Execute(Split(LCase(cell), "розмірний ряд")(1))(0)
 End With
End Function
Изменено: Kuzmich - 17 Окт 2019 13:48:57
Поиск цифровых значений в ячейке, Поиск цифрового значения в ячейке при определенных условиях
 
Цитата
Варианты:
(new word) 350gr+ , -200гр/шт , :+0,5КГ , +1,0КГ , 250гр+- ,
Включите все возможные варианты в пример
Вывести список номеров товаров, где есть примечания, вывести список по отношению к нумерации товаров по столбцу G
 
В строке
Код
x = x & cell.Offset(1, 1) & ", "

в переменной x записываются номера через запятую с пробелом
В строке
Код
x = Left(x, Len(x) - 2)

убирается последняя запятая с пробелом
Отделить численного виражения физической величины от ед.изм
 
UDF для значения и размерности
Код
Function Znachenie(cell$)
 With CreateObject("VBScript.RegExp")
  .Global = True
  .IgnoreCase = True
  .Pattern = "\d[mGO]"
     Znachenie = Left(cell, .Execute(cell)(0).FirstIndex + 1)
 End With
End Function


Код
Function Razmernost(cell$)
 With CreateObject("VBScript.RegExp")
  .Global = True
  .IgnoreCase = True
  .Pattern = "\d[mGO]"
     Razmernost = Mid(cell, .Execute(cell)(0).FirstIndex + 2)
 End With
End Function
VBA: копирование и вставка данных с листа на лист
 
Цитата
не будут совпадать названия столбцов, можно ли что-то придумать
Добавьте в таблицы по строчке и сделайте свою шапку, но чтобы названия совпадали
Подстановка данных в таблицу с разным порядком столбцов, Как подставить данные из одной таблицы в другую
 
Посмотрите https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=1&TID=121779&TITLE_SEO=121779-vba-kopirovanie-i-vstavka-dannykh-s-lista-na-list&logout_butt=%D0%92%D1%8B%D0%B9%D1%82%D0%B8
VBA: копирование и вставка данных с листа на лист
 
При активном Листе1 запустить макрос
Код
Sub Perenos()
  With Worksheets("Лист2")
    .Rows("3:" & Rows.Count).Clear
    Range("B2:H19").AdvancedFilter xlFilterCopy, , .Range("B2:E2")
  End With
End Sub
Поиск цифровых значений в ячейке, Поиск цифрового значения в ячейке при определенных условиях
 
Добавьте в паттерн
Код
.Pattern = "\d+(\,?\d+)?[-+/](\d+(\,?\d+)?)?"
Поиск цифровых значений в ячейке, Поиск цифрового значения в ячейке при определенных условиях
 
Код надо поместить в стандартный модуль, а не в модуль листа
Поиск цифровых значений в ячейке, Поиск цифрового значения в ячейке при определенных условиях
 
Приложите пример с вставленным макросом
Вывести список номеров товаров, где есть примечания, вывести список по отношению к нумерации товаров по столбцу G
 
Надо переделывать цикл по cell
Поиск цифровых значений в ячейке, Поиск цифрового значения в ячейке при определенных условиях
 
Функцию в стандартный модуль, а в ячейке (например B1) пишите =iDigits(A1) и протягиваете вниз
Вывести список номеров товаров, где есть примечания, вывести список по отношению к нумерации товаров по столбцу G
 
Цитата
если напротив пусто в G, то спускаемся вниз до первой непустой ячейки, тогда будет четко номер товара.
Во-первых у вас там не пусто, а пробел
Во-вторых тогда получится в x
"1, 5, 5, 20, 20, 20, 20, "
Вывести список номеров товаров, где есть примечания, вывести список по отношению к нумерации товаров по столбцу G
 
Код
x = x & Cells(cell.Row, "G") & ", "
Как удалить весть текст после определённого знака в строке.
 
Цитата
как ее теперь в документ мой перенести.
А попробуйте свои данные перенести в документ Юрия М и запустить макрос
Поиск цифровых значений в ячейке, Поиск цифрового значения в ячейке при определенных условиях
 
UDF
Код
Function iDigits(cell$)
 With CreateObject("VBScript.RegExp")
     .Global = True
     .IgnoreCase = True
     .Pattern = "\d+(\,?\d+)?[-+](\d+(\,?\d+)?)?"
     iDigits = .Execute(cell)(0)
 End With
End Function
Поиск и замена в XML через VBA
 
Цитата
с чего начать
Возможно с регулярных выражений, см. в Приемах
Использование значения из ячейки в макросе
 
yuppic, Вы в первом сообщении писали
Цитата
Как задать Волшебное_число = значение из ячейки К6, на листе данные
В сообщении #5 уже появилась ячейка L6
Вы уж определитесь, где у вас волшебное число?
Как удалить весть текст после определённого знака в строке.
 
Код
Cells(i, 1) = Left(Cells(i, 1), InStrRev(Cells(i, 1), ">>") - 1)
Изменено: Kuzmich - 15 Окт 2019 22:55:02
Замена знака в ячейке Excel 2016
 
Цитата
чтобы была возможность определять область применения?
Определяете последнюю заполненную ячейку в столбце А
Код
iLastRow = Cells(Rows.Count, 1).End(xlUp).Row
и цикл от 1 до iLastRow

Замена знака в ячейке Excel 2016
 
Код
Sub iZamena()
Dim i As Long
 With CreateObject("VBScript.RegExp")
   .Global = True
   .IgnoreCase = True
   .MultiLine = True
   .Pattern = "(\d{1,2})\.(\d{2})"
  For i = 1 To 4
     If .test(Cells(i, 1)) Then
           Cells(i, 1) = .Replace(Cells(i, 1), "$1:$2")
    End If
   Next
 End With
End Sub
Использование значения из ячейки в макросе
 
Видимо у вас было
Код
Worksheets("данные").Range("K6")
Замена знака в ячейке Excel 2016
 
Цитата
Вхождение может быть как 1, так и 2 и 3 и 4 и т.д.
Покажите в примере
Использование значения из ячейки в макросе
 
У вас лист называется Данные  
Дублирование строк на основе данных в столбцах
 
Цитата
Имеется таблица с уникальным id и некоторыми его признаками (от одного до 7)
Каждый признак в своей ячейке? Или все в одной? Где пример?
Создать уникальный список с подставлением значений в одну строку
 
https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=1&TID=89086
Макрос для преобразования строки в столбец, macro VBA
 
Цитата
макрос по переводу данных из строки в столбец
Код
Sub RowInColumn()
Dim mo As Object
Dim n As Integer
Dim i As Long
Dim iLastRow As Long
Dim iLR As Long
  Columns(2).ClearContents
  iLastRow = Cells(Rows.Count, 1).End(xlUp).Row
  Range("A1:A" & iLastRow).Copy Range("B1")
 With CreateObject("VBScript.RegExp")
   .Global = True
   .MultiLine = True
   .Pattern = "\[[A-Za-z,\s]+\]"
   For i = 1 To iLastRow
     If .test(Cells(i, 1)) Then
       Set mo = .Execute(Cells(i, 1))
        If mo.Count > 1 Then
          Cells(i, 2) = mo(0)
           iLR = Cells(Rows.Count, 2).End(xlUp).Row
         For n = 1 To mo.Count - 1
           Cells(iLR + n, 2) = mo(n)
         Next
        End If
    End If
   Next
 End With
End Sub
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 210 След.
Наверх