Подскажите пожалуйста как можно объединять столбцы в новый с проверкой условия имеется ли в столбце значение или нет, если значение есть то добавить в новый столбец с описанием столбца. Удалось сделать это, но без проверки условия. [vba]
Код
Sub Main() Dim i As Long, a(), b(): Application.ScreenUpdating = False a = Range([AH1], Cells(Cells(Rows.Count, 1).End(xlUp).Row, 4)).Value: ReDim b(1 To UBound(a, 1), 1 To 1) For i = 1 To UBound(a, 1): b(i, 1) = "Фамилия.:" & a(i, 1) & ", Имя: " & a(i, 2) & ", Отчество:" & a(i, 3) & ", Марка авто:" & a(i, 4): Next Range([E2], Cells(UBound(b, 1) + 1, 5)).Value = b End Sub
[/vba]
Сейчас получается так что если нет отчества или авто: Фамилия.: Иванов Имя: Иван Отчество:Марка авто: Правильно будет так (при условии что нет отчества и авто): Фамилия.: Иванов Имя: Иван
Подскажите пожалуйста как можно объединять столбцы в новый с проверкой условия имеется ли в столбце значение или нет, если значение есть то добавить в новый столбец с описанием столбца. Удалось сделать это, но без проверки условия. [vba]
Код
Sub Main() Dim i As Long, a(), b(): Application.ScreenUpdating = False a = Range([AH1], Cells(Cells(Rows.Count, 1).End(xlUp).Row, 4)).Value: ReDim b(1 To UBound(a, 1), 1 To 1) For i = 1 To UBound(a, 1): b(i, 1) = "Фамилия.:" & a(i, 1) & ", Имя: " & a(i, 2) & ", Отчество:" & a(i, 3) & ", Марка авто:" & a(i, 4): Next Range([E2], Cells(UBound(b, 1) + 1, 5)).Value = b End Sub
[/vba]
Сейчас получается так что если нет отчества или авто: Фамилия.: Иванов Имя: Иван Отчество:Марка авто: Правильно будет так (при условии что нет отчества и авто): Фамилия.: Иванов Имя: Иванsi
Сообщение отредактировал si - Среда, 30.09.2015, 12:37
Да, спасибо, все работает прекрасно, еще такой вопрос, как можно добавить в текущий цикл по строкам проверку по столбцу и есть условие не удовлетворяется то удалить данную строку из файла.
Ну что то такое наверное: [vba]
Код
IIf (a(i,9)<>200, Rows(i).Delete,"")
[/vba] В коде не силен, не судите строго, пытался написать сам, как правильно написать подобную строку, и где именно ее нужно разместить чтоб не писать дополнительны цикл по строкам, так сказать минимизировать код
Да, спасибо, все работает прекрасно, еще такой вопрос, как можно добавить в текущий цикл по строкам проверку по столбцу и есть условие не удовлетворяется то удалить данную строку из файла.
Ну что то такое наверное: [vba]
Код
IIf (a(i,9)<>200, Rows(i).Delete,"")
[/vba] В коде не силен, не судите строго, пытался написать сам, как правильно написать подобную строку, и где именно ее нужно разместить чтоб не писать дополнительны цикл по строкам, так сказать минимизировать кодsi