Страницы: 1
RSS
вставить данные в объединенные ячейки
 
Добрый день форумчане !!!
Мне нужно вставить данные из одной таблицы (выделены желтым цветом), расположенной на лист1 в объединенные ячейки формы таблицы Т13 (тоже выделены желтым цветом ) на странице Т-13. Пытался копировать диапазон данных, но при переносе данных объединенные ячейки разъединяются. Может кто сталкивался или просто знает как это делается правильно поделитесь пожалуйста опытом.
Изменено: RemiS - 03.03.2016 16:03:30
 
Написать маленький макрос, который будет копировать каждую ячейку в нужное место через цикл.
Количество данных, которые необходимо перенести много?
 
Порядка 30-40 человек по 31 день. Ну кстати говоря если в объединенных ячейках просто проставить цифры то их можно автоматически увиличить.  
Изменено: RemiS - 03.03.2016 17:28:52
 
=Т(ИНДЕКС(Лист1!$A:$A;СТРОКА(Лист1!$9:$9)+ЦЕЛОЕ((СТРОКА()-СТРОКА('Т-13'!$23:$23)-1)/4)+1))
---
Забыл сказать. Это в яч. I24 листа Т-13. Остальное по аналогии.
Изменено: JayBhagavan - 03.03.2016 17:30:35

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Я бы макрос переноса написал.
 
Цитата
CrazyRabbit написал: Я бы макрос переноса написал.
Даю добро. Пишите.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
RemiS опишите, что конкретно должно быть, напишу.
 
Есть форма заполнения учета свободного времени T-13 . В ней есть ячейки в которых указываются   рабочие часы по дням.
Из графика расположенного на лист1 мы высчитываем  рабочие часы на каждый день . (они выделены желтым цветом под графиком на лист1)

Нужно вставить в форму Т-13 значения (их тоже 31 ячейка только в два ряда выделены желтым).
Если нужно расписать формулу по которой я высчитывал то напишу блок-схему.  
 
Попробуйте так
Макрос настроен так, что берет данные с 1 Листа и вставляет на лист "Т-13". Если первый лист будет находится в другом месте, или второй лист переименуется, макрос перестанет работать.
Код
Sub заполнение()
Dim wb As Workbook
Dim ws1 As Worksheet, wsT13 As Worksheet
Dim i As Integer, n As Integer, q As Integer, k As Integer
Set wb = ActiveWorkbook
Set ws1 = wb.Worksheets(1)
Set wsT13 = wb.Worksheets("Т-13")
    i = ws1.Cells(Rows.Count, 1).End(xlUp).Row
    k = i
    Do While ws1.Cells(k, 1) <> ""
        k = k - 1
    Loop
    k = k + 2
    For n = k To i
        For q = 3 To 33
            If q <= 17 Then
                wsT13.Cells(21 + (n - k + 1) * 4, 45 + (q - 2) * 4) = ws1.Cells(k, q)
            Else
                wsT13.Cells(23 + (n - k + 1) * 4, 45 + (q - 2 - 15) * 4) = ws1.Cells(k, q)
            End If
        Next q
    Next n
    
End Sub
 
Цитата
JayBhagavan написал:
Даю добро. Пишите.
Спасибо, написал.
 
Через формулы
 
Спасибо всем!!! Оба варианта ,то что нужно :)  
Страницы: 1
Читают тему
Наверх