Страницы: 1
RSS
Перенос данных из ячеек в ячейки при условии ввода даты месяца в MsgBox
 
Всем привет!
пожалуйста, помогите!
написал макрос копирования данных в ячейках в другие ячейки,
но мне нужно, чтоб макрос спрашивал день месяца, (1, 2, 3 и тд) и сравнивал с названием столбца и исходя из этого переносил данные
как это сделать?

Sub первое()
'
' первое Макрос
'

'
   Range("C41:C45").Select
   Selection.Copy
   Range("C31:C35").Select
   Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
       xlNone, SkipBlanks:=False, Transpose:=False
End Sub
 
Код
Sub DayCopy()
    Dim dd As String
    dd = InputBox("Введите день", "Копирование", 1)
    Dim xx As Long
    On Error Resume Next
    xx = WorksheetFunction.Match(CLng(dd), Rows(30), 0)
    On Error GoTo 0
    If xx > 0 Then
        Dim arr As Variant
        arr = Cells(41, xx).Resize(5)
        Cells(31, xx).Resize(UBound(arr, 1), UBound(arr, 2)) = arr
    End If
End Sub
 
Спасибо!
мне хх заменить надо, верно?)

что то не работает у меня :(  
Изменено: Олег Большаков - 21.11.2022 17:30:46
 
Тему не читал, но так для информации - использование в макросе WorksheetFunction.Match() ведёт к ошибке 1004, если искомое значение не найдено в массиве и даже обёртка в виде IsError(WorksheetFunction.Match()) не работает. Чтобы не использовать On Error Resume Next для обхода этого бага надо использовать вот так IsError(Application.Match()) - тогда ошибка нормально ловится
Вот тут статья https://software-solutions-online.com/unable-to-get-match-property-of-worksheetfunction/
Изменено: New - 21.11.2022 17:49:13
 
New, так как мне быть то в итоге?) помогите пожалуйста
 
даю подсказку - взять ваш файл - удалить вообще все ненужные листы, на нужном листе оставить только нужную информацию, всю секретную можно заменить на "ромашки, лютики, мандарины" и приложить на форум. Нет, нет. Вы не поняли. Не картинку, а сам файл, да, прямо сам файл Excel, да, так можно. И уже на вашем урезанном файле-примере объяснить, что куда надо и мы сразу поможем.
 
New,
нужно что бы по ручному запросу через MsgBox вводилось условие.
Диапазон условия C30:AG30

Данные для копирования:С41:C45 - всегда
Место для вставки - столбцы С31:C35 и так далее исходя из условия
 
вот так? см. файл
 
New, ДАААААА!!! СПАСИБО ОГРОМНОЕ!!!
 
просто вы подробнее объяснили задачу - у Матроса макрос копировал данные из того же столбца, где нашёл введённую цифру, а тут вы более подробно объяснили, что всегда нужно копировать один и тот же диапазон, но в столбец с нужной цифрой. Но с файлами всё-таки быстрее всё решается
Изменено: New - 21.11.2022 23:53:13
 
New, понял, буду более четко формировать запрос!
спасибо за помощь! очень выручили!
 
New, Подскажите пожалуйста, можно ли имя файла сделать непостоянным, просто это не всегда DSA 5.6, его могут обозвать как угодно
 
А где там в макросе имя файла? И причем оно вообще здесь? )))
Скажи мне, кудесник, любимец ба’гов...

 
_Boroda_, Пардон, не в той теме написал
Страницы: 1
Читают тему (гостей: 1)
Наверх