Grafik verisi güncelleme

Katılım
18 Kasım 2008
Mesajlar
1
Excel Vers. ve Dili
2000
Merhaba,
Sub Macro1()
'
' Macro1 Macro
' Macro recorded 18.11.2008 by Ozgur VAROL
'

'
ActiveWindow.SmallScroll Down:=99
Range("C144:C167").Select
Selection.Copy
Sheets("Sayfa1").Select
Range("B187").Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Sheets("Sayfa2").Select
End Sub

Bu makroyu kullanıyorum fakat bu makronun b187'ye ekliyor, bir sonraki calıstırmamda b188'e ekliyor ve böyle devam ediyor. Yapmak istediğim b187 kolonundan aşşağı doğru her ekleme yaptığımda bu veriyi benim grafiğimede eklesin. Grafik veriyi ilk b187'den alıyor diyelim, üstteki makro calıstığında grafik veriyi artık b187 ve b188 den alsın ve her seferinde tekrar etsin istiyorum.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
çalışam kitabınızı eklerseniz yardımcı olmaya çalışırım...
uyarlaaybilirseniz kendi kodlarım aşağıdadır. Aşağıdaki kodlar ile sql sorgusu ile önce grafik data sayfası oluşturulup grafiği çıkartılıyor sizi özellikle blnc_GrafikOluştur kısmı ilgilendiriyor.


Kod:
Private Sub blnc_GrafikDataHazırlık()
Dim wsGrfDt As Worksheet:                         Set wsGrfDt = buKtp.Sheets("GRFD")
Dim araBirYatEks  As Range, araBirDikEks As Range
Dim araIkiDikEks   As Range, araGrfVerAra As Range
'=====================================================================================\\\
  With wsGrfDt         'Grafik_Data sayfasında işlem yap                              '||
    .Activate                                                                         '||
    With .Cells                                                                       '||
      .Clear                                                                          '||
      With .Font                                                                      '||
        .Name = "Courier New"                                                         '||
        .FontStyle = "Kalın"                                                          '||
        .Size = 7                                                                     '||
      End With 'Selection.Font                                                        '||
    End With 'Cells                                                                   '||
  '*\ Grafik_Data Başlıklarını at...                                                  '||
    .Range("a1").Value = "Maliyet Yılı"                                               '||
    .Range("B1").Value = "Bütçe Yılı"                                                 '||
    .Range("C1").Value = "Bütçe Ayı"                                                  '||
    .Range("D1").Value = "Harcama Tutarı"                                             '||
    .Range("E1").Value = "Harcama Yüzdesi"                                            '||
  '*\ Grafik_Data Kayıtlarını Çek...                                                  '||
    '*\Sorgu yılına ait                                                               '||
    SqlBas_1 = "MYIL, BYIL, BOS1, Sum(TUTAR) AS TOP_TUTAR"                            '||
    SqlGrp_1 = "MYIL, BYIL, BOS1"                                                     '||
    SqlBas_2 = "MYIL, BYIL, AY, Sum(TUTAR) AS TOP_TUTAR"                              '||
    SqlGrp_2 = "MYIL, BYIL, AY"                                                       '||
    '*\ Maliyet Yılından küçük bütçe yıllarına ait harcamaları al:                    '||
    SqlSrg = "BYIL < " & srgYil & " AND mYIL = " & srgYil                             '||
    SqlSrg = SqlSrg & " AND ML_DRM = " & "'" & "İçi" & "'"                            '||
    SqlStr = "SELECT DISTINCT " & SqlBas_1 & " from " & SqlFrm & " WHERE "            '||
    SqlStr = SqlStr & SqlSrg & " GROUP BY  " & SqlGrp_1                               '||
    Set ObRcSt = obConn.Execute(SqlStr)                                               '||
    .Cells(2, "A").CopyFromRecordset ObRcSt                                           '||
    ObRcSt.Close:       Set ObRcSt = Nothing                                          '||
    '*\ Maliyet Yılına eşit bütçe yıllarına ait harcamaları al:                       '||
    SqlSrg = "BYIL = " & srgYil & " AND mYIL = " & srgYil                             '||
    SqlSrg = SqlSrg & " AND ML_DRM = " & "'" & "İçi" & "'"                            '||
    SqlStr = "SELECT DISTINCT " & SqlBas_2 & " from " & SqlFrm & " WHERE "            '||
    SqlStr = SqlStr & SqlSrg & " GROUP BY  " & SqlGrp_2                               '||
    Set ObRcSt = obConn.Execute(SqlStr)                                               '||
    .Cells(.Range("A65536").End(3).Row + 1, "A").CopyFromRecordset ObRcSt             '||
    ObRcSt.Close:       Set ObRcSt = Nothing                                          '||
   '*\ Maliyet Yılından büyük bütçe yıllarına ait harcamaları al:                     '||
    SqlSrg = "BYIL > " & srgYil & " AND mYIL = " & srgYil                             '||
    SqlSrg = SqlSrg & " AND ML_DRM = " & "'" & "İçi" & "'"                            '||
    SqlStr = "SELECT DISTINCT " & SqlBas_1 & " from " & SqlFrm & " WHERE "            '||
    SqlStr = SqlStr & SqlSrg & " GROUP BY  " & SqlGrp_1                               '||
    Set ObRcSt = obConn.Execute(SqlStr)                                               '||
    .Cells(.Range("A65536").End(3).Row + 1, "A").CopyFromRecordset ObRcSt             '||
    ObRcSt.Close:       Set ObRcSt = Nothing                                          '||
  '*\ Grafik Data Sayfasındaki diğer hesaplamalar                                     '||
  [B][COLOR=Green]   SonSat = .Cells(65536, "A").End(3).Row                                            '||
    If SonSat = 1 Then GoTo islemsonu                                                 '||
[/COLOR][COLOR=Green]    Set araBirYatEks = .Range("c2:c" & SonSat)                                        '||
    Set araBirDikEks = .Range("d2:d" & SonSat)                                        '||
    Set araIkiDikEks = .Range("e2:e" & SonSat)                                        '||
    Set araGrfVerAra = .Range("$a$1:$e$" & SonSat + 1)                                '||[/COLOR][/B]
   '*\ Zaman Değerlerini al                                                           '||
    For i = 2 To SonSat                                                               '||
      .Range("E" & i).Formula = "=100*" & .Cells(i, "d").Address & "/" & _
      .Cells(SonSat + 1, "D").Address                                                 '||
      If .Range("C" & i).Value = "" Then                                              '||
        .Range("C" & i).Value = .Range("B" & i).Value & " Yılından"                   '||
      Else                                                                            '||
        .Range("C" & i).Value = hsr.FncHsr_YazAy(.Range("C" & i).Value)               '||
      End If                                                                          '||
    Next i                                                                            '||
    '*\ Grafik Data Sayfasının Toplamını al                                           '||
    .Cells(SonSat + 1, "A").Value = " T O P L A M "                                   '||
    .Cells(SonSat + 1, "D").Formula = "=SUM(" & araBirDikEks.Address & ")"            '||
    .Cells(SonSat + 1, "E").Formula = "=SUM(" & araIkiDikEks.Address & ")"            '||
    araBirDikEks.NumberFormat = "#,##0.00"                                            '||
    araIkiDikEks.NumberFormat = "#,##0.00"                                            '||
    Call hsr.KenarlikCiz_DisCift_Ic_Ince(.Range("A1:E" & SonSat + 1))                 '||
    .PageSetup.PrintArea = araGrfVerAra.Address                                       '||
    .Range("A1").Select                                                               '||
  End With      'wsGrfDt: Tablom sayfasında işlem yapma bitti                         '||
'=====================================================================================///

[B][COLOR=SeaGreen]blnc_GrafikOluştur:
'=====================================================================================\\\
    '*\ Grafik_Şeklini oluştur                                                        '||
  Dim chGrfZmn  As Chart:           Set chGrfZmn = buKtp.Charts("ZamanGrafigi")       '||
  With chGrfZmn                                                                       '||
    .ChartTitle.Characters.Text = srgYil & " yılı Maliyet zaman Grafiği"              '||
    .SeriesCollection(1).XValues = araBirYatEks                                       '||
    .SeriesCollection(1).Values = araBirDikEks                                        '||
    .SeriesCollection(1).Name = "=""" & srgYil & "/YTL"""                             '||
    .SeriesCollection(2).XValues = araBirYatEks                                       '||
    .SeriesCollection(2).Values = araIkiDikEks                                        '||
    .SeriesCollection(2).Name = "=""" & srgYil & "/Yüzde"""                           '||
    .Activate                                                                         '||
  End With                                                                            '||
  Set araBirYatEks = Nothing:        Set araBirDikEks = Nothing                       '||
  Set araIkiDikEks = Nothing:        Set araGrfVerAra = Nothing                       '||
  Set chGrfZmn = Nothing   [/COLOR][/B]                                                           '||
'=====================================================================================///
islemsonu:
Set wsGrfDt = Nothing
End Sub
 
Üst