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

Страницы: 1
Макрос для создания диаграмм
 
Добрый день!

Пытаюсь создать макрос для написания диаграмм посредством макрорекордера и последующим изменением того, что получилось. Макрос, который получился в итоге, работает, но очень нестабильно: иногда создает верные диаграммы, иногда неправильно берет диапазоны.
Можно ли как-то исправить эту проблему?


Код
Sub График_паутинка()
'
' График_паутинка Макрос
'

'
Application.ScreenUpdating = False
Dim i As Long
For i = 4 To 7
    ActiveSheet.Shapes.AddChart.Select
    ActiveChart.ChartType = xlRadar
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection(1).Name = "=Паутинка!$C$1"
    ActiveChart.SeriesCollection(1).Values = Range(Cells(i, 3), Cells(i, 17))
    ActiveChart.SeriesCollection(1).XValues = "=Паутинка!$C$2:$Q$2"
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection(2).Name = "=Паутинка!$R$1"
    ActiveChart.SeriesCollection(2).Values = Range(Cells(i, 18), Cells(i, 32))
    ActiveChart.SeriesCollection(2).XValues = "=Паутинка!$R$2:$AF$2"
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection(3).Name = "=Паутинка!$A$3"
    ActiveChart.SeriesCollection(3).Values = "=Паутинка!$R$3:$AF$3"
    ActiveChart.SeriesCollection(3).XValues = "=Паутинка!$R$2:$AF$2"
    ActiveChart.ChartArea.Select
    ActiveChart.Axes(xlValue).MaximumScale = 3
    ActiveChart.ApplyLayout (1)
    ActiveChart.ChartTitle.Select
    ActiveChart.ChartTitle.Text = Cells(i, 1)   'название диаграммы
     Next
Application.ScreenUpdating = True
End Sub
Изменено: Эстеэрэль - 16.11.2016 14:55:40
Макрос для заполнения таблицы из другой таблицы
 
Добрый день!

Подскажите, пожалуйста, как можно это реализовать?

Задача
1) скопировать ячейку из столбца A файла "Список" (там находится ФИО)
2) найти скопированное ФИО в файле "БД16" в столбце C (ФИО в файле может повторяться)
3) скопировать ячейки, соответствующие найденному ФИО, из файла "Список" (они выделены цветом) в файл "БД16":
   из столбца J в столбец AR, из M в AU, из C в AW, из D в AX, из E в AY
4) если ФИО в файле "БД16" не найдено, выделить его желтым цветом в файле "Список"
5) повторить тоже самое со следующей ячейкой из столбца A файла "Список"

Что у меня получается сейчас (для модуля листа1 файла "Список", обе книги открыты):
Код
Sub Заполнить()
Application.ScreenUpdating = False
Dim i As Long
Dim iLastRow As Long
Dim Nomer As String
Dim FoundNomer As Range
   iLastRow = Cells(Rows.Count, 1).End(xlUp).Row
   For i = 2 To iLastRow  'до последнего заполненного поля
     Nomer = Cells(i, 1)
     With Workbooks("БД16.xlsx").Worksheets("База")
       Set FoundNomer = .Columns(A).Find(Nomer, , xlValues, xlWhole)
       If Not FoundNomer Is Nothing Then
          Cells(FoundNomer.Row, 44) = .Cells(i, 10)  'Поступл.дата
          Cells(FoundNomer.Row, 47) = .Cells(i, 13)  'Процент занятости(ставка)
          Cells(FoundNomer.Row, 49) = .Cells(i, 12)  'Город
          Cells(FoundNomer.Row, 50) = .Cells(i, 3)  'Должность
          Cells(FoundNomer.Row, 51) = .Cells(i, 5)  'Группа
       Else
         Cells(i, 1).Interior.Color = 65535
       End If
     End With
   Next
Application.ScreenUpdating = True
End Sub
Изменено: Эстеэрэль - 26.07.2016 13:19:00
Выделить строку, ячейка которой выделена
 
Доброго времени суток!

Подскажите, пожалуйста, что сделать, чтобы выделить строку, ячейка которой выделена (пункт 3)?

Задача
1) скопировать ячейку из столбца A
2) найти уникальный номер из ячейки в столбце A в другом документе
3) выделить строку с найденной ячейкой
4) скопировать выделенную строку
5) вставить выделенную строку в документ, где находится ячейка с уникальным номером, в строку, в которой ячейка с уникальным номером
6) повторить тоже самое со следующей ячейкой из столбца A

Что у меня получается сейчас:

Код
Sub тест3()
'
' тест3 Макрос
'

'
    Dim i As Integer
    Dim j As Integer
    For i = 1 To 5
    Cells(i, 1).Select
    Selection.Copy
    Windows("Сырые_данные.xlsm").Activate
    Range("A1").Select
    Cells.Find(What:=Cells(i, 1), After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate
    

    Rows(j).Select
    Selection.Copy
    Windows("Обработка.xlsm").Activate
    Rows(i).Select
    ActiveSheet.Paste
    Next
End Sub
Изменено: Эстеэрэль - 18.06.2016 20:20:54
Страницы: 1
Наверх