Подскажите, пожалуйста, как сделать так, чтобы если находится определенный текст (например имя) то после столбца. в котором ячейка "имя" вставялся столбец и в ячеку (в приемер b6) вставлялась формула и растягивалась вниз допустим на 200 значения , и чтобы дальше так делалось для определнных ячеек (отчество и т. д .) А если не находил определнную ячеку ; например не нашел ячеку паспорт-> ищи следующую Таблица как есть - листй, как должно быть лист2. Спасибо!
Подскажите, пожалуйста, как сделать так, чтобы если находится определенный текст (например имя) то после столбца. в котором ячейка "имя" вставялся столбец и в ячеку (в приемер b6) вставлялась формула и растягивалась вниз допустим на 200 значения , и чтобы дальше так делалось для определнных ячеек (отчество и т. д .) А если не находил определнную ячеку ; например не нашел ячеку паспорт-> ищи следующую Таблица как есть - листй, как должно быть лист2. Спасибо!letasm
Sub tt() Dim n, rng As Range, i As Long, j As Long n = Split("имя фамилия отчество адрес телефон") Set rng = Range(Cells(5, 1), Cells(Cells(5, Columns.Count).End(xlToLeft).Column)) Application.ScreenUpdating = False With rng For i = .Columns.Count To 1 Step -1 For j = 0 To UBound(n) If Cells(5, i) = n(j) Then Cells(5, i).Offset(, 1).EntireColumn.Insert Cells(5, i + 1) = n(j) & "2" Cells(6, i + 1).Resize(200, 1).FormulaR1C1 = "formula" Exit For End If Next Next End With End Sub
[/vba]
Как-то так [vba]
Код
Sub tt() Dim n, rng As Range, i As Long, j As Long n = Split("имя фамилия отчество адрес телефон") Set rng = Range(Cells(5, 1), Cells(Cells(5, Columns.Count).End(xlToLeft).Column)) Application.ScreenUpdating = False With rng For i = .Columns.Count To 1 Step -1 For j = 0 To UBound(n) If Cells(5, i) = n(j) Then Cells(5, i).Offset(, 1).EntireColumn.Insert Cells(5, i + 1) = n(j) & "2" Cells(6, i + 1).Resize(200, 1).FormulaR1C1 = "formula" Exit For End If Next Next End With End Sub
МВТ, Спасибо огромнейшее! Но дело в том, что формула будет впр И она будет браться из другой таблице (всегда одни и те же ячейки, порядок столбцов неизменный) И вот если писать формулу макросом, он предстает в виде
Соответственно при другом положении столбца в первой таблице, формула будет неверной. Можно как-то формулу записать в другом виде в формате А1? Спасибо! [moder]Формулы нужно оформлять тегами![/moder]
МВТ, Спасибо огромнейшее! Но дело в том, что формула будет впр И она будет браться из другой таблице (всегда одни и те же ячейки, порядок столбцов неизменный) И вот если писать формулу макросом, он предстает в виде
Соответственно при другом положении столбца в первой таблице, формула будет неверной. Можно как-то формулу записать в другом виде в формате А1? Спасибо! [moder]Формулы нужно оформлять тегами![/moder]letasm
Сообщение отредактировал Manyasha - Среда, 15.06.2016, 17:55
Вы бы написали свою формулу в нормальном виде. А если в общем, то введите на листе формулу в стиле А1, поставьте доллары там, где нужно, потом переведите ее в стиль RC Например, формула в стиле А1 такая
Ссылки $D$13 и рабтаб!$D:$U неизменны (они без квадратных скобок в стиле RC - R13C4 и рабтаб!C4:C21)
И еще - очень не советую писать ВПР на целиковые столбцы. Напишите на 999 строк (ну или на 9999, или сколько там у Вас), но только без фанатизма - ВПР довольно-таки тормознутая функция.
Вы бы написали свою формулу в нормальном виде. А если в общем, то введите на листе формулу в стиле А1, поставьте доллары там, где нужно, потом переведите ее в стиль RC Например, формула в стиле А1 такая
Ссылки $D$13 и рабтаб!$D:$U неизменны (они без квадратных скобок в стиле RC - R13C4 и рабтаб!C4:C21)
И еще - очень не советую писать ВПР на целиковые столбцы. Напишите на 999 строк (ну или на 9999, или сколько там у Вас), но только без фанатизма - ВПР довольно-таки тормознутая функция._Boroda_