Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
При одном запросе получить все значения, При запросе с одним ключом получить не первое попавшееся а все
 
Мне нужно заполнить файл показаний данными из ОДИпу
ВПР хватает только первое значение.
А нужно, если первое значение уже внесено, выбирать следующее значение.
При одном запросе получить все значения, При запросе с одним ключом получить не первое попавшееся а все
 
Южная 17   1подъезд0xBy00342600003
Южная 17 2подъезд0xBy00342600003
Сейчас так
А нужно
Южная 17   1подъезд0xBy00342600003
Южная 17 2подъезд0xBy00342600004
Как ВПР насторить?
Или может другой какой способ есть?
При одном запросе получить все значения, При запросе с одним ключом получить не первое попавшееся а все
 
    Приветствую.

Суть:
МКД по Адресу Южная 17 - служит ключом. - файл Показания за Июнь 2
В этом МКД в двух подъездах по прибору учёта ХВС. - нужны их идентификаторы. - файл ОДИпу2

Южная 17   1подъезд0xBy00342600003
Южная 17 1подъезд#Н/Д
Южная 17 1подъезд#Н/Д
Южная 17 2подъезд0xBy00342600003
Южная 17 2подъезд#Н/Д
Южная 17 2подъезд#Н/Д
В результате нужны данные во втором столбце разные.
файл с моим кривым кодом на всякий случай прилагается

Очень прошу, помогите, Пожалуйста.

С Уважением,
Денис.
Макрос удаления лишних пробелов в Excel
 
Казанский, The_Prist, Спасибо ОГРОМНОЕ! Очень мне помогли ваши решения.
Замена значения ячейки значением другой ячейки находящейся в той же строки при условии, Если Значение Ячейки 13-го столбца не равно "" заменить Значение ячейки 1-го столбца той же строки.
 
Nordheim, Спасибо.
Получилось.
Удалил все строки после таблицы и запустил макрос. Тогда сработало.
Огромное Спасибо.
Замена значения ячейки значением другой ячейки находящейся в той же строки при условии, Если Значение Ячейки 13-го столбца не равно "" заменить Значение ячейки 1-го столбца той же строки.
 
Юрий М,спасибо.
Учту.
Замена значения ячейки значением другой ячейки находящейся в той же строки при условии, Если Значение Ячейки 13-го столбца не равно "" заменить Значение ячейки 1-го столбца той же строки.
 
Вставил в файл все документы. (не знаю... думал может что-то скрыто... или ещё что-то может влиять чего не знаю)
Нажал на макрос - ошибка -
Код
        lrow = .Cells(.Rows.Count, 13).End(xlUp).Row
Тайм эррор 6
Замена значения ячейки значением другой ячейки находящейся в той же строки при условии, Если Значение Ячейки 13-го столбца не равно "" заменить Значение ячейки 1-го столбца той же строки.
 
Не высылайте.
Всё сработало на файле из трёх документов.
На полном файле не работает.
Замена значения ячейки значением другой ячейки находящейся в той же строки при условии, Если Значение Ячейки 13-го столбца не равно "" заменить Значение ячейки 1-го столбца той же строки.
 
Юрий М,можете мне свой файл выслать?
Замена значения ячейки значением другой ячейки находящейся в той же строки при условии, Если Значение Ячейки 13-го столбца не равно "" заменить Значение ячейки 1-го столбца той же строки.
 
Юрий М,Да.
Ничегошеньки.
Замена значения ячейки значением другой ячейки находящейся в той же строки при условии, Если Значение Ячейки 13-го столбца не равно "" заменить Значение ячейки 1-го столбца той же строки.
 
Nordheim, Приветствую.
Спасибо. Чувствую, что истина где-то рядом, но тямы не хватает осмыслить.
Не работает. Вообще ни чего не происходит.
Что только не делал и в свой текст вставлял... и пытался инструкции по языку почитать... (ещё хуже стало) Ни чего не понимаю.
Не работает.
Что я не понимаю? Почему не работает? ... даже не знаю как спросить-то... Мажет другие какие варианты?
Замена значения ячейки значением другой ячейки находящейся в той же строки при условии, Если Значение Ячейки 13-го столбца не равно "" заменить Значение ячейки 1-го столбца той же строки.
 
Код
Sub for1()
    Range("M20").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(MID(RC[-12],10,3)=""Íàç"",MID(RC[-12],168,17),"""")"
    Range("M20").Select
    Selection.Copy
    Columns("M:M").Select
    ActiveSheet.Paste
    
    Range("O20").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[-2]="""","""",LOOKUP(99^99,--LEFT(MID(RC[-2],MIN(FIND({0,1,2,3,4,5,6,7,8,9},RC[-2]&""0123456789"")),15),{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15})))"
    Range("O20").Select
    Selection.Copy
    Columns("O:O").Select
    ActiveSheet.Paste
    
    Range("Q20").Select
    ActiveCell.FormulaR1C1 = "=IF(RC[-2]="""","""",RC[-2]*7.5%/130)"
    Range("Q20").Select
    Selection.Copy
    Columns("Q:Q").Select
    ActiveSheet.Paste
    
    Range("S20").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(MID(RC[-18],10,3)=""Íàç"",LEFT(RC[-18],508),"""")"
    Range("S20").Select
    Selection.Copy
    Columns("S:S").Select
    ActiveSheet.Paste
    


    Range("X20").Select
    ActiveCell.FormulaR1C1 = "=IF(RC[-7]="""","""",INT(RC[-7]))"
    Range("X20").Select
    Selection.Copy
    Columns("X:X").Select
    ActiveSheet.Paste

    Range("Z20").Select
    ActiveCell.FormulaR1C1 = "=IF(RC[-2]="""","""","" ðóá. "")"
    Range("Z20").Select
    Selection.Copy
    Columns("Z:Z").Select
    ActiveSheet.Paste
    
    Range("AB20").Select
    ActiveCell.FormulaR1C1 = "=IF(RC[-11]="""","""",ROUND((RC[-11]-RC[-4])*100,))"
    Range("AB20").Select
    Selection.Copy
    Columns("AB:AB").Select
    ActiveSheet.Paste
    
    
    Range("AD20").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(MID(RC[-29],10,3)=""Íàç"",RIGHT(RC[-29],1145),"""")"
    Range("AD20").Select
    Selection.Copy
    Columns("AD:AD").Select
    ActiveSheet.Paste
    
    Range("AF20").Select
    ActiveCell.FormulaR1C1 = "=IF(RC[-2]="""","""",CONCATENATE(RC[-13],RC[-8],RC[-6],RC[-4],RC[-2]))"
    Range("AF20").Select
    Selection.Copy
    Columns("AF:AF").Select
    ActiveSheet.Paste
    Columns("AF:AF").Select
    
    Columns("AF:AF").Select
    Columns("AF:AF").Copy
    Columns("AH:AH").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False

    Columns("M:AG").Select
    Range("AG1").Activate
    Selection.Delete Shift:=xlToLeft
    
    Columns("M:M").Select
    With Selection
        .HorizontalAlignment = xlFill
        .VerticalAlignment = xlDistributed
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    

    
End Sub
Приветствую всех.
Есть такое:



Необходимо:
При условии что в столбце 13 есть значение, заменить значение первой ячейки той же строки на значение столбца 13, этой же строки.
Подскажите, пожалуйста как возможно это сделать.
Заранее Спасибо.
Изменено: GroshevDV - 17.04.2018 00:08:53
Выбор от номера ячейки столбца до последней ячейки столбца заполненной области не дальше, ActiveSheet.UsedRange.Rows.Count и тому подобное...
 
Приветствую.
Вопрос, думаю, можно будет решить, если при открытии файла Обрезать лист под таблицу.
Такое возможно?
Можете подсказать как это реализовать?
Выбор от номера ячейки столбца до последней ячейки столбца заполненной области не дальше, ActiveSheet.UsedRange.Rows.Count и тому подобное...
 
Вроде отправлял...
Повторил.
Выбор от номера ячейки столбца до последней ячейки столбца заполненной области не дальше, ActiveSheet.UsedRange.Rows.Count и тому подобное...
 
Спасибо за ссылку.
А на русском такого же нет?

Специальный выбор предложенный Вами, мою машину на колени ставит.
И ошибку на вставлении выдаёт
А искал именно для облегчения метод, т.к. заполнение полностью всего столбца занимает время.
Выбор от номера ячейки столбца до последней ячейки столбца заполненной области не дальше, ActiveSheet.UsedRange.Rows.Count и тому подобное...
 
Приветствую, Умные Люди.
Прошу сразу за тупость, но только-только пытаюсь освоить макросы.
Почитал форумы, но всё равно не догоняю.

Есть такое:
Код
Sub fileexОДИпу_outОДИпу_for_ПоказанияОДИпу()
    ' Открыть файл экспорта ОДПУ по пути:
    Dim ФайлЭкспортаОДпу As Workbook
    Set ФайлЭкспортаОДпу = Application.Workbooks.Open("d:\...temp\_ACTIVe_\ОДИПУ.xlsx")
        Sheets("Сведения о ПУ").Select
        ФайлЭкспортаОДпу.Application.Run "PERSONAL.XLSB!fileexОДИпу_УдалениеДлинныхАдресов"
       'Columns("H:H").Select
        Selection.Cut
        Columns("A:A").Select
        Selection.Insert Shift:=xlToRight
       ' Добавление столбцов для работы с формулами
        Columns("C:C").Select
        Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
        Columns("C:C").Select
        Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
        Columns("C:C").Select
        Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
        
    Range("C3").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[-1]=""Коллективный (общедомовой)"",CONCATENATE(RC[-2],RC[42]),"""")"
    Range("С:С").Select
    ActiveSheet.Paste
               
    ' Сохранить файл экспорта ОДПУ под новым именем
    ChDir "D:\...temp\_ACTIVe_"
    ActiveWorkbook.SaveAs Filename:="D:\...temp\_ACTIVe_\ОДИпу_for_ПоказанияОДИпу.xlsx", _
    FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
    ' Закрыть файл экспорта ОДПУ
    ФайлЭкспортаОДпу.Close (True)
End Sub


Вопрос:
Как в
Код
    Range("C3").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[-1]=""Коллективный (общедомовой)"",CONCATENATE(RC[-2],RC[42]),"""")"
    Range("С:С").Select
    ActiveSheet.Paste

а точнее в   Range("С:С").Select вставить не столбец со значениями в ячейках до бесконечности, а только в те ячейки столбца в строках которых присутствуют данные.

Заранее Спасибо.
И кстати, однажды зашёл к вам в поиске методов, и наткнулся на макросы... Вы открыли для меня мир ОГРОМНЫХ возможностей. В разы облегчился мой труд.
СПАСИБО.
Страницы: 1
Наверх