Страницы: 1
RSS
Копирование числа определенное количество раз
 
Здравствуйте Excelчане.
Есть определенный диапазон ячеек в приложенном файле (А1;X24). Как вы заметили, в этом диапазоне в каждой строке есть число, отмеченное желтым цветом.Это число может находится в разных столбцах (но всегда в одной и той же строке). Необходимо сделать так, чтобы значение этой желтой ячейки автоматически копировалось вправо и влево по 4 раза, то есть как изображено в примере. + прикол в том, что если желтая ячейка стоит, например, в крайнем положении (Х24), то 4 значения, которые должны скопироваться вправо, должны начать копироваться начиная с ячейки А1. Помогите пожалуйста, уже неделю ломаю чайник =(
 
Код
Sub Diamond()
Dim r&, c&, i&
For r = 1 To 24
  For c = 1 To 24
    If Cells(r, c).Interior.ColorIndex <> xlColorIndexNone Then
      For i = c + 19 To c + 27
        Cells(r, i Mod 24 + 1).Value = Cells(r, c).Value
      Next
      Exit For
    End If
  Next
Next
End Sub
Изменено: Казанский - 15.04.2015 17:12:09
 
За помощь спасибо)но вы меня слегка не поняли) чтобы числа копировались не обязательно чтобы они были желтыми)условие должно выполняться в том случае, если в одной из ячеек в каждой строке (например от А1 до Х1) стоит число) В каждой строке будет стоять по одному числу, а потом уже от этого числа будут копироваться вправо и влево по 4 числа)
П.С. если честно я с этими макросами не ку ку.Попытался разобраться, доступ к макросам включил в настройках, вбил в модуль где написано сверху General.Все сохранил вроде бы, нажимаю во вкладке Разработчик---Макросы---выбираю макрос Diamond---Выполнить. Пишу число в указанном свыше диапазоне,меняю цвет - толку 0
 
То есть ищем в каждой строке непустую ячейку и ее копируем? С мин. изменениями (неоптимально)
Код
Sub Diamond()
Dim r&, c&, i&
For r = 1 To 24
  For c = 1 To 24
    If Not IsEmpty(Cells(r, c)) Then
      For i = c + 19 To c + 27
        Cells(r, i Mod 24 + 1).Value = Cells(r, c).Value
      Next
      Exit For
    End If
  Next
Next
End Sub
 
Можно даже не пустую, а ячейку, значение которой больше 0)
 
Пробуйте макросы в файле
 
Работает!Спасибо огромное!)
Страницы: 1
Наверх