Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Обрезать ячейки в столбце свыше заданного кол-ва символов - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Обрезать ячейки в столбце свыше заданного кол-ва символов
stas8892 Дата: Воскресенье, 15.09.2024, 20:22 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 20% ±

Microsoft Office Standart 2019
Доброго времени суток, глубокоуважаемые форумчане!

Подскажите пожалуйста, какие строки кода нужно добавить в макрос по удалению свыше 12 символов (от 13 и далее) во время поиска значений с листа "1", при вставке этих найденных значений в столбец "C" листа "2" c помощью INDEX.
Предпочту готовое решение.

Sub 888()
Application.ScreenUpdating = False
a = Sheets("2").Cells(Rows.Count, "a").End(xlUp).Row
If a > 1 Then Sheets("2").Range("a2:d" & a).Clear
e = Application.CountIf(Sheets("1").Range("2:2"), "строка")
If e > 0 Then
h = 1
For g = 1 To e
i = Application.Match("строка", Sheets("1").Range(Sheets("1").Cells(2, h), Sheets("1").Cells(2, 16384)), 0)
h = h + i
j = Sheets("1").Cells(Rows.Count, h - 1).End(xlUp).Row
k = Sheets("2").Cells(Rows.Count, "a").End(xlUp).Row + 1
Sheets("1").Range(Sheets("1").Cells(3, h - 1), Sheets("1").Cells(j, h)).Copy
Sheets("2").Range("a" & k).PasteSpecial Paste:=xlPasteValues
Next
l = Sheets("2").Cells(Rows.Count, "a").End(xlUp).Row
Sheets("2").Range("a2:b" & l + 5).Sort key1:=Sheets("2").Range("a2:a" & l + 5), _
order1:=xlAscending, Header:=xlNo
Sheets("2").Range("a2:b" & l + 5).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End If
Application.CutCopyMode = False
m = Sheets("2").Cells(Rows.Count, "a").End(xlUp).Row
If m > 1 Then
Sheets("2").Range("c2:c" & m).FormulaR1C1 = _
"=INDEX('1'!R1:R1048576,MATCH(RC[-2],'1'!C3,),MATCH(RC[-1],INDEX('1'!R1:R1048576,MATCH(RC[-2],'1'!C3,),1):INDEX('1'!R1:R1048576,MATCH(RC[-2],'1'!C3,),'1С'!R2C12),)+1)"

Sheets("2").Range("d2:d" & m).FormulaR1C1 = "=VLOOKUP(RC[-2],Таблица2[7:8],7,)/VLOOKUP(--RC[-1],'3'!C:C[1],2,)"

End If

Application.ScreenUpdating = True
End Sub


Сообщение отредактировал stas8892 - Воскресенье, 15.09.2024, 20:23
 
Ответить
СообщениеДоброго времени суток, глубокоуважаемые форумчане!

Подскажите пожалуйста, какие строки кода нужно добавить в макрос по удалению свыше 12 символов (от 13 и далее) во время поиска значений с листа "1", при вставке этих найденных значений в столбец "C" листа "2" c помощью INDEX.
Предпочту готовое решение.

Sub 888()
Application.ScreenUpdating = False
a = Sheets("2").Cells(Rows.Count, "a").End(xlUp).Row
If a > 1 Then Sheets("2").Range("a2:d" & a).Clear
e = Application.CountIf(Sheets("1").Range("2:2"), "строка")
If e > 0 Then
h = 1
For g = 1 To e
i = Application.Match("строка", Sheets("1").Range(Sheets("1").Cells(2, h), Sheets("1").Cells(2, 16384)), 0)
h = h + i
j = Sheets("1").Cells(Rows.Count, h - 1).End(xlUp).Row
k = Sheets("2").Cells(Rows.Count, "a").End(xlUp).Row + 1
Sheets("1").Range(Sheets("1").Cells(3, h - 1), Sheets("1").Cells(j, h)).Copy
Sheets("2").Range("a" & k).PasteSpecial Paste:=xlPasteValues
Next
l = Sheets("2").Cells(Rows.Count, "a").End(xlUp).Row
Sheets("2").Range("a2:b" & l + 5).Sort key1:=Sheets("2").Range("a2:a" & l + 5), _
order1:=xlAscending, Header:=xlNo
Sheets("2").Range("a2:b" & l + 5).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End If
Application.CutCopyMode = False
m = Sheets("2").Cells(Rows.Count, "a").End(xlUp).Row
If m > 1 Then
Sheets("2").Range("c2:c" & m).FormulaR1C1 = _
"=INDEX('1'!R1:R1048576,MATCH(RC[-2],'1'!C3,),MATCH(RC[-1],INDEX('1'!R1:R1048576,MATCH(RC[-2],'1'!C3,),1):INDEX('1'!R1:R1048576,MATCH(RC[-2],'1'!C3,),'1С'!R2C12),)+1)"

Sheets("2").Range("d2:d" & m).FormulaR1C1 = "=VLOOKUP(RC[-2],Таблица2[7:8],7,)/VLOOKUP(--RC[-1],'3'!C:C[1],2,)"

End If

Application.ScreenUpdating = True
End Sub

Автор - stas8892
Дата добавления - 15.09.2024 в 20:22
Hugo Дата: Воскресенье, 15.09.2024, 20:27 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3690
Репутация: 790 ±
Замечаний: 0% ±

365
Да просто вложите этот индекс() в левсимв() - берите 12 с начала строки. И может быть ещё на всякий случай сперва нужно отрезать возможный лишний начальный пробел.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеДа просто вложите этот индекс() в левсимв() - берите 12 с начала строки. И может быть ещё на всякий случай сперва нужно отрезать возможный лишний начальный пробел.

Автор - Hugo
Дата добавления - 15.09.2024 в 20:27
stas8892 Дата: Воскресенье, 15.09.2024, 20:42 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 20% ±

Microsoft Office Standart 2019
Hugo, к моему сожалению, это очень сложно, я не понимаю что нужно сделать.
Если не сложно, напишите пожалуйста готовую часть кода для вставки.
 
Ответить
СообщениеHugo, к моему сожалению, это очень сложно, я не понимаю что нужно сделать.
Если не сложно, напишите пожалуйста готовую часть кода для вставки.

Автор - stas8892
Дата добавления - 15.09.2024 в 20:42
Hugo Дата: Воскресенье, 15.09.2024, 20:58 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3690
Репутация: 790 ±
Замечаний: 0% ±

365
Мне сложно - нет ни файла, ни кода в нём.
Выполните код, включите рекордер, добавьте в первую формулу левсимв(), выключите запись
Возьмите строку с формулой из этого макроса.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеМне сложно - нет ни файла, ни кода в нём.
Выполните код, включите рекордер, добавьте в первую формулу левсимв(), выключите запись
Возьмите строку с формулой из этого макроса.

Автор - Hugo
Дата добавления - 15.09.2024 в 20:58
stas8892 Дата: Воскресенье, 15.09.2024, 21:05 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 20% ±

Microsoft Office Standart 2019
Hugo, с горем пополам получилось, премного благодарен.
 
Ответить
СообщениеHugo, с горем пополам получилось, премного благодарен.

Автор - stas8892
Дата добавления - 15.09.2024 в 21:05
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!