Добрый день. Переделал код, который мне предоставили на данном форуме из удаления под копировать-вставить как 123. [vba]
Код
'Если D35 и ниже до последней содержит *Iskomoe*, то столбец Stolbec копировать и вставить как 123 Dim PS As Variant, i As Variant, Iskomoe As Variant, Stolbec As Variant PS = Cells(Rows.Count, 1).End(xlUp).Row For i = PS To 35 Step -1 ' Iskomoe = InputBox("Выберите значение в столбце D", "Запрос данных", "") ' Set Iskomoe = Application.InputBox("Выберите значение в столбце D") If Cells(i, 4).Value Like "*Iskomoe*" Then ' Set Stolbec = Application.InputBox("Выберите номер столбца") Cells(i, Stolbec).Copy Cells(i, Stolbec).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False End If Next
[/vba] Если переменных нет, то все работает, однако хочется наладить диалог пользователя с кодом через переменные. Прошу вашей помощи: Если в столбце 4 в ячейке содержится значение допустим 500, то в столбце допустим 9 (I) в соседней ячейке происходит копирование и вставка как значения (а не формулы). Самое сложное, это то, что значение 500 и столбец 9 выбирает пользователь через диалоговые окна или окно.
Добрый день. Переделал код, который мне предоставили на данном форуме из удаления под копировать-вставить как 123. [vba]
Код
'Если D35 и ниже до последней содержит *Iskomoe*, то столбец Stolbec копировать и вставить как 123 Dim PS As Variant, i As Variant, Iskomoe As Variant, Stolbec As Variant PS = Cells(Rows.Count, 1).End(xlUp).Row For i = PS To 35 Step -1 ' Iskomoe = InputBox("Выберите значение в столбце D", "Запрос данных", "") ' Set Iskomoe = Application.InputBox("Выберите значение в столбце D") If Cells(i, 4).Value Like "*Iskomoe*" Then ' Set Stolbec = Application.InputBox("Выберите номер столбца") Cells(i, Stolbec).Copy Cells(i, Stolbec).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False End If Next
[/vba] Если переменных нет, то все работает, однако хочется наладить диалог пользователя с кодом через переменные. Прошу вашей помощи: Если в столбце 4 в ячейке содержится значение допустим 500, то в столбце допустим 9 (I) в соседней ячейке происходит копирование и вставка как значения (а не формулы). Самое сложное, это то, что значение 500 и столбец 9 выбирает пользователь через диалоговые окна или окно.timo64uk
Dim PS As Variant, i As Variant, Iskomoe As Variant, Stolbec As Variant PS = Cells(Rows.Count, 1).End(xlUp).Row Iskomoe = Application.InputBox("Введите значение в столбце D", "Ищем слово в столбце D...", Type:=1) If Iskomoe <> Empty Then With ActiveSheet For i = PS To 35 Step -1 If Cells(i, 4).Value Like "*" & Iskomoe & "*" Then ' Set Stolbec = Application.InputBox("Выберите номер столбца") Cells(i, 9).Copy Cells(i, 9).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False End If Next End With End If
[/vba]
С вводом искомого значения вроде получилось (случайно). Остается дело за номером столбца (и As Variant явно не везде верно указал)
[vba]
Код
Dim PS As Variant, i As Variant, Iskomoe As Variant, Stolbec As Variant PS = Cells(Rows.Count, 1).End(xlUp).Row Iskomoe = Application.InputBox("Введите значение в столбце D", "Ищем слово в столбце D...", Type:=1) If Iskomoe <> Empty Then With ActiveSheet For i = PS To 35 Step -1 If Cells(i, 4).Value Like "*" & Iskomoe & "*" Then ' Set Stolbec = Application.InputBox("Выберите номер столбца") Cells(i, 9).Copy Cells(i, 9).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False End If Next End With End If
[/vba]
С вводом искомого значения вроде получилось (случайно). Остается дело за номером столбца (и As Variant явно не везде верно указал)timo64uk
Сообщение отредактировал timo64uk - Пятница, 15.11.2024, 09:20