Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Замена Слова на Число (максрос)
 
ВРоде получается сделать по аналогии с транслитом, неактуально..
Замена Слова на Число (максрос)
 
Есть колонка с Словами (бренды товаров).  
Нужно заменить навзание бренда (слово) на число (код бренда)  
Есть массив соответствий:  
AEZ 1  
DOTZ 2    
и.т.д. 50 штук  
 
Как заменить макросом?
Заменить текст в ячейке на нужную цифру из массива (Макрос)
 
Спасибо, вопрос решён!
Заменить текст в ячейке на нужную цифру из массива (Макрос)
 
Есть прайс. В нем есть колонка с брендами. Нужно макросом заполнить колонку со странами цифрой по бренду.  
2 R-Zone  
3 Menzari  
4 ENZO  
4 AEZ  
4 DEZENT  
7 4-Racing  
Т.е. если в ячейке с брендом ENZO или AEZ то в ячейку страны ставим цифру 4 и т. д.  
Заранее спасибо.
Макрос замены букв и цифр
 
{quote}{login=The_Prist}{date=18.03.2011 04:58}{thema=}{post}Ага. Одна беда - если попадется нецелое число(45,79), то оно станет 4579{/post}{/quote}  
 
Точно! Добавил запятую в шаблон)
Макрос замены букв и цифр
 
Разобрался сам, очень удобрая вещь!  
Примеры выше в архиве.  
 
У меня например такой макрос работает, оставляет только цифры:  
Dim RegEx      As Object  
Set RegEx = CreateObject("vbscript.regexp")  
With RegEx  
.Global = True  
.Pattern = "[^\d]+" ' Тут шаблон на основе RegExp для замены"[^\d]+"
End With  
For lngN = 2 To Cells(Rows.Count, 1).End(xlUp).Row  
Cells(lngN, 4).Value = RegEx.Replace(Cells(lngN, 4).Value, "")   ' заменям то, что попало под шаблон.  
Next lngN  
Set RegEx = Nothing
Макрос замены букв и цифр
 
{quote}{login=Dobrinia}{date=18.03.2011 04:20}{thema=}{post}Вот нашёл хороший файл с примерами регулярок.  
Может кто поможет разобрать первый пример по косточкам?{/post}{/quote}  
 
Забыл заархивировать! Качайте архив. а то в предыдущем посте размер больше 100кб вышел
Макрос замены букв и цифр
 
Вот нашёл хороший файл с примерами регулярок.  
Может кто поможет разобрать первый пример по косточкам?  
<EM><STRONG>Файл удален</STRONG> - велик размер - [<STRONG>МОДЕРАТОРЫ</STRONG>]</EM>
Макрос замены букв и цифр
 
Я прайс от мусора чищу, поэтому значения должны быть в той же ячейке, откуда берутся данные.  
Да и строк кажыд раз разное число.. может быть 50 а может 50000
Макрос замены букв и цифр
 
Нужен макрос замены букв и цифр. Я так понимаю проще и лучше это делать с помощью регулярного выражения. RegExp.  
Покажите как правильно делать замену с помощью регулярных выражений?  
Примерно так  
With Range("A1:A1000")  
Cells.Replace "1234567890", ""  
End With
Отформатировать столбцы макросом (обрезать слева/справа)
 
Обновлять прайс на автомате 2 раза в день.  
Вроче частая.... если бы раз в месяц то конечно проще с заменой
Отформатировать столбцы макросом (обрезать слева/справа)
 
В первой колонке таки надо был оубрать косую черту) опечатался.  
А как убрать п опринципу "всё кроме цифр" или "всё кроме букв" ?    
Хорошо бы таким способом почистить остольные колонки... и вроде оптимально.  
Я так понимаю на регулярке надо выражение сделать?
Отформатировать столбцы макросом (обрезать слева/справа)
 
{quote}{login=}{date=17.03.2011 11:26}{thema=}{post}...Как удобнее всего удалить в первом столбце все справа после первого слеша...  
 
Sub delByRulesFirstColumn()  
Dim lngN As Long  
For lngN = 2 To Cells(Rows.Count, 1).End(xlUp).Row  
   Cells(lngN, 1).Value = Left(CStr(Cells(lngN, 1).Value), InStr(CStr(Cells(lngN, 1).Value), "/"))  
Next lngN  
End Sub  
В строгом соответствии с пожеланиями. "/" останется.  
 
...Во втором обрезать слева и справа всё до слешей включительно....  
Пардон за назойливость, но если так сделать, и СЛЕВА до слеша включительно обрезать, И справа до слеша ВКЛЮЧИТЕЛЬНО обрезать, а слеш там один - то будет пустая ячейка. Уточните?  
 
...В третем оставить только две цифры и где есть букву последнюю (например R17, R15C)...  
 
Sub delByRulesIIIColumn()  
Dim lngN As Long  
For lngN = 2 To Cells(Rows.Count, 1).End(xlUp).Row  
   Cells(lngN, 3).Value = Right(CStr(Cells(lngN, 3).Value), Len(CStr(Cells(lngN, 3).Value)) - _  
   InStr(CStr(Cells(lngN, 3).Value), " "))  
Next lngN  
End Sub  
 
 
чем могу, как говориться...{/post}{/quote}  
 
Большое спасибо, что помогаете... во втором обрезать слева до слеша а справа до пробела включительно. атм двузначное число останется
Отформатировать столбцы макросом (обрезать слева/справа)
 
забыл залогинится.
Заполнить столбец 1 Словом?
 
{quote}{login=KukLP}{date=17.03.2011 05:48}{thema=}{post}Сразу надо было пример выложить. Давно бы забыли:  
                           iLastRowBaza = BazaSht.Cells(Rows.Count, 1).End(xlUp).Row  
                           BazaSht.Range("F2:F" & iLastRowBaza).Value = "летняя"{/post}{/quote}  
 
Спасибо, работает, у меня с нескольких прайсов собераются данные поэтому вместо F2 тоже переменную сделал.
Заполнить столбец 1 Словом?
 
Попробовал в новом файле просто Range("F2:F20").Value = "1234"  
Работает.    
Возможно, в моем макросе не работает т.к. открытой считается другая книга?
Заполнить столбец 1 Словом?
 
{quote}{login=KukLP}{date=17.03.2011 05:10}{thema=}{post}Прозевал:  
Range("F2:F" & iLastRowBaza).Value = "летняя"{/post}{/quote}  
 
Увы, не работает. Прикладываю файлы. Думаю это прояснит ситуацию.
Заполнить столбец 1 Словом?
 
Попробовал, не получается. Покажу кусок макроса, возможно что-то плохо описал.  
 
               If iTempFileName = "leto.xls" Then 'Открываем прайс с летними шинами  
               With .Workbooks.Open _  
                    (Filename:=iPath & iTempFileName, UpdateLinks:=False, ReadOnly:=True)  
                    iNumFiles = iNumFiles + 1  
                    'Рабочая книга не должна быть защищена паролем  
                    With .Worksheets(1) ' с конкретным листом в открытой книге  
                         'номер последней заполенной строки  
                         iLastRowTempWb = .Cells(Rows.Count, 1).End(xlUp).Row  
                         'последняя строка в итоговом файле на листе  
                         iLastRowBaza = BazaSht.Cells(Rows.Count, 1).End(xlUp).Row + 1  
                         'копируем диапазон с открытой книги в заданный лист  
                         .Range(.Cells(3, 4), .Cells(iLastRowTempWb, 4)).Copy Destination:=BazaSht.Cells(iLastRowBaza, 1)  
                         .Range(.Cells(3, 4), .Cells(iLastRowTempWb, 4)).Copy Destination:=BazaSht.Cells(iLastRowBaza, 2)  
                         .Range(.Cells(3, 4), .Cells(iLastRowTempWb, 4)).Copy Destination:=BazaSht.Cells(iLastRowBaza, 3)  
                         .Range(.Cells(3, 5), .Cells(iLastRowTempWb, 5)).Copy Destination:=BazaSht.Cells(iLastRowBaza, 4)  
                         .Range(.Cells(3, 5), .Cells(iLastRowTempWb, 5)).Copy Destination:=BazaSht.Cells(iLastRowBaza, 5)  
                         .Range(.Cells(3, 6), .Cells(iLastRowTempWb, 6)).Copy Destination:=BazaSht.Cells(iLastRowBaza, 8)  
                         .Range(.Cells(3, 7), .Cells(iLastRowTempWb, 7)).Copy Destination:=BazaSht.Cells(iLastRowBaza, 7)  
                         .Range(.Cells(3, 8), .Cells(iLastRowTempWb, 8)).Copy Destination:=BazaSht.Cells(iLastRowBaza, 9)  
                         .Range(.Cells(3, 9), .Cells(iLastRowTempWb, 9)).Copy Destination:=BazaSht.Cells(iLastRowBaza, 10)  
                         .Range(.Cells(3, 10), .Cells(iLastRowTempWb, 10)).Copy Destination:=BazaSht.Cells(iLastRowBaza, 11)  
                         'тут нужно заполнить диапазон F2:до последней заполненной строки  
                         Range("A1:A100").Value = "летняя"  
                 
                    End With  
                    .Close saveChanges:=False  
               End With  
               End If
Заполнить столбец 1 Словом?
 
Нужен макрос, заполняющий столбец одним словом.  
Формирую общий файл(прайс-лист шин) из 4х файлов екселя.  
 
Нашёл в примерах "Заполнение диапазона(массив)"  
Но может есть что-то проще? типа:  
"летняя" .Copy Destination:=BazaSht.Cells(iLastRowBaza, 1)  
Или обязательно создавать массив , заполнять его одним словом и переносить в таблицу,  
 
Спасибо.
Страницы: 1
Наверх