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

Страницы: 1
При одном запросе получить все значения, При запросе с одним ключом получить не первое попавшееся а все
 
    Приветствую.

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

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

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

С Уважением,
Денис.
Замена значения ячейки значением другой ячейки находящейся в той же строки при условии, Если Значение Ячейки 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 и тому подобное...
 
Приветствую, Умные Люди.
Прошу сразу за тупость, но только-только пытаюсь освоить макросы.
Почитал форумы, но всё равно не догоняю.

Есть такое:
Код
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
Наверх