ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] °ÊºA­×¥¿¶×¤J¹Ïªíªº³Ì«á¸ê®Æ¦C¤§¦C¼Æ©Ò©µ¦ùªº°ÝÃD

[µo°Ý] °ÊºA­×¥¿¶×¤J¹Ïªíªº³Ì«á¸ê®Æ¦C¤§¦C¼Æ©Ò©µ¦ùªº°ÝÃD

§Ú¦³¤@¨ÇºÃ´b·Q½Ð¦U¦ì¤j¤j«ü¾É¡Aµ{¦¡½X¦p¤U¡G (¸Ì­±¤À§O³B²z¤F6­Ó²Î­p¹Ïªí)
  1. Sub getEndRows()  ' ¥H Excel -> ´¡¤J -> §é½u¹Ï¡Bª½±ø¹Ï ¤è¦¡¤@¤@´¡¤J©ó¤u§@ªí³æ¤ºªºÀˬd¤è¦¡¡C
  2.     Dim oShape As Shape
  3.     Dim numChart As Integer
  4.     Dim totalRows As Single
  5.    
  6.     numChart = 0
  7.    
  8.     Sheets("²Î­p¹Ïªí").Select
  9.     totalRows = Range("B" & Rows.Count).End(xlUp).Row     ' ¶Ç¦^ B Äæ©Ò¨Ï¥ÎÀx¦s®æ¤§³Ì«á¤@®æ¤§¦C¸¹ (¹ê»Ú¶×¤J¸ê®Æ¤§Á`¦C¼Æ)
  10.             
  11.     For Each oShape In ActiveSheet.Shapes
  12.         If oShape.Type = 3 Then
  13.             numChart = numChart + 1
  14.             
  15.             Cells(lines, 36).Value = "²Ä " & lines - 1 & " ­Ó¹Ïªí"           
  16.             Cells(lines, 37).Value = oShape.Name

  17.             ' Shapes(oShape.Name).Select     ' ¥²¶·¥ý¦æ«Å§i oShape.Name ¿ï¾Ü¡A§_«h¥H¤U®y¼Ð¦ì¸m¡B°ª«×¡B¥H¤Î¼e«×¤§­«·s³]©w±N¤©¥H©¿²¤¦ÓµL¹ê½è§@¥Î
  18.             ActiveSheet.ChartObjects(oShape.Name).Activate                     
  19.             Cells(lines, 38).Value = ActiveSheet.ChartObjects(oShape.Name).Name   ' µ²ªG¬Oµ¥©ó oShape.Name
  20.                
  21.             Select Case numChart
  22.                 Case 1
  23.                     ActiveChart.SetSourceData Source:=Range("$B$1:$B$" & totalRows & ", $F$1:$F$" & totalRows & ", $I$1:$J$" & totalRows)  
  24.                 Case 2
  25.                     ActiveChart.SetSourceData Source:=Range("$B$1:$B$" & totalRows & ", $AA$1:$AA$" & totalRows)
  26.                 Case 3
  27.                     ActiveChart.SetSourceData Source:=Range("$B$1:$B$" & totalRows & ", $AC$1:$AC$" & totalRows)
  28.                 Case 4
  29.                     ActiveChart.SetSourceData Source:=Range("$B$1:$B$" & totalRows & ", $AE$1:$AE$" & totalRows)
  30.                 Case 5
  31.                     ActiveChart.SetSourceData Source:=Range("$B$1:$B$" & totalRows & ", $AG$1:$AG$" & totalRows)
  32.                 Case Else
  33.                     ActiveChart.SetSourceData Source:=Range("$B$1:$B$" & totalRows & ", $F$1:$F$" & totalRows & ", $V$1:$V$" & totalRows)   ' ¹Ï¥Ü·|¤À§OÅã¥Ü¥X ¦¨¥æ»ù

  34.                     ' ´ú¸ÕOK«á¡A¤§«á¤S¼W¥[¤F¥H¤U¥|¦æµ{¦¡½X
  35.                     ActiveChart.Axes(xlCategory).TickLabels.NumberFormatLocal = "hh:mm"
  36.                     ActiveChart.Axes(xlCategory).MajorTickMark = xlNone
  37.                     ' ±N®É¶¡¶b±q 0 ¨è«×½u¤U¤è(¹Ïªí¹w³]­È)²¾¦Ü¨ì¹Ïªí¤§³Ì¤U¤è¦ì¸m (­ì¥»¹w³]©ó­t­È¼Æ­È¦C³B¡A¾B»\¤F­t­È¦±½u¤§À˵ø¡F¬G±N¤§²¾¦ì¡A±N¨Ï±oªí®æ©ö©ó¾\Äý)
  38.                    ActiveChart.Axes(xlCategory).TickLabelPosition = xlLow     

  39.                    Cells(lines, 38).Value = ActiveChart.ChartTitle.Text  
  40.             End Select
  41.         End If
  42.     Next
  43. End Sub
½Æ»s¥N½X
1.     §Ú­ì¥»¬O¨Ï¥Î   Shapes(oShape.Name).Select  ¡A¦ý¦b¸Ó²Î­p¹Ïªí¤u§@ªí³æ¤º°õ¦æ®É¬OOK¡A¦ý±N¥¦·h¨ì ThisWorkbook ¤º´N¦³¿ù»~°T®§¡A©ó¬O«K§â¥¦­×§ï¦¨
         ActiveSheet.ChartObjects(oShape.Name).Activate «K¯à¶¶§Q°õ¦æ¡A¨ä­ì¦]¬°¦ó¡H ¥¿½TÀ³¦p¦óÀ³¥Î¡H
2.      ´ú¸ÕOK«á¡A¤§«á§Ú¤S¼W¥[¤F¥|¦æµ{¦¡½X¡Aµ²ªGÅã¥Ü Axes¡BTickLabels¡BctiveChart.ChartTitle.Text µ¥»yªk¤W¤£¥¿½T¡A
                    ActiveChart.Axes(xlCategory).TickLabels.NumberFormatLocal = "hh:mm"
                    ActiveChart.Axes(xlCategory).MajorTickMark = xlNone
                   ActiveChart.Axes(xlCategory).TickLabelPosition = xlLow     
                   Cells(lines, 38).Value = ActiveChart.ChartTitle.Text  
        ½Ð±ÐÀ³¸Ó­n¦p¦ó­×¥¿¤~OK¡H
ÁÂÁ±z¡I

¤Ó·P¿E±z¤F¡A ¹ï©ó§Ú³o­Ó­èIJºN VBA ªº¤H¨Ó»¡ªº½T¬O¤j¦³À°§U¡A
¥¦©M¤@¯ë¶Ç²Î»y¨¥½T¹ê¦³¨Ç¤£¦P (C/C++,Java....)¡AÁÂÁ±zËç¡I

TOP

¦U¦ì¤j¤j½ÐÀ°­Ó¦£¡G
§Ú¤w§â GBKEE «e½úªº Code ¤Þ¤J¡A°õ¦æ®É«o¥X²{¤F¥H¤U¤§¿ù»~°T®§¡A±N¥¦­ÌMarked¤S«ì´_¥¿±`¡A
°_°ÝÀ³¦p¦ó³B²z¡H ÁÂÁ¦U¦ì¤j¤j¡I

' °õ¦æ¶¥¬q¿ù»~ '-2147467259 (80004005)':
' Automation ¿ù»~
' µLªk«ü¥Xªº¿ù»~

TOP

¦^´_ 4# c_c_lai

±æ¤F®×¦^Âжs¡A©Ò¥H¤S¦Aµo¤F¤@¦¸¡A¹ï¤£°_¡I

¦U¦ì¤j¤j½ÐÀ°­Ó¦£¡G
§Ú¤w§â GBKEE «e½úªº Code ¤Þ¤J¡A°õ¦æ®É«o¥X²{¤F¥H¤U¤§¿ù»~°T®§¡A±N¥¦­ÌMarked¤S«ì´_¥¿±`¡A
°_°ÝÀ³¦p¦ó³B²z¡H ÁÂÁ¦U¦ì¤j¤j¡I

' °õ¦æ¶¥¬q¿ù»~ '-2147467259 (80004005)':
' Automation ¿ù»~
' µLªk«ü¥Xªº¿ù»~

TOP

¦^´_ 7# GBKEE
¤p§Ì±N¹ê»Ú¦b°õ¦æªºµ{¦¡½X¶K¤W¡A·q½Ð¦U¦ì«e½ú«ü¾É¡C
  1. Sub setRowColumn()  ' ¥H Excel -> ´¡¤J -> §é½u¹Ï¡Bª½±ø¹Ï ¤è¦¡¤@¤@´¡¤J©ó¤u§@ªí³æ¤ºªºÀˬd¤è¦¡¡C
  2.     Dim oShape As Shape
  3.     Dim numChart As Integer
  4.     Dim totalRows As Single
  5.    
  6.     numChart = 0
  7.    
  8.     Sheets("²Î­p¹Ïªí").Select
  9.     totalRows = Range("B" & Rows.Count).End(xlUp).Row        ' ¶Ç¦^ B Äæ©Ò¨Ï¥ÎÀx¦s®æ¤§³Ì«á¤@®æ¤§¦C¸¹
  10.             
  11.     For Each oShape In ActiveSheet.Shapes
  12.         If oShape.Type = 3 Then
  13.             numChart = numChart + 1
  14.             
  15.             Active.Shapes(oShape.Name).Select                     ' ¦pªG Shapes «e¥[¤W Active. °õ¦æ®É·|¥X²{  ---->  °õ¦æ¶¥¬q¿ù»~ '424':  ¦¹³B»Ý­nª«¥ó
  16.             ' ActiveSheet.ChartObjects(oShape.Name).Activate
  17.            
  18.             ActiveChart.SetSourceData Source:=Range("$B$1:$B$" & totalRows & ", $F$1:$F$" & totalRows & ", $V$1:$V$" & totalRows)
  19.                      
  20.             With ActiveSheet.ChartObjects(oShape.Name).Chart
  21.                 .Axes(xlCategory).TickLabels.NumberFormatLocal = "hh:mm:ss"
  22.                 .Axes(xlCategory).MajorTickMark = xlCategoryScale
  23.                 .Axes(xlCategory).TickLabelPosition = xlLow
  24.                         
  25.                 Cells(Lines, 38).Value = .ChartTitle.Text
  26.             End With
  27.                   
  28.             ActiveSheet.Shapes(oShape.Name).Left = Cells(31, 1).Left     ' ³]©w¦¹¹Ïªí¹ê»ÚÂ\©ñªº X¡BY ®y¼Ð¦ì¸m¡C
  29.             ActiveSheet.Shapes(oShape.Name).Top = Cells(31, 1).Top
  30.                     
  31.             ActiveChart.ChartArea.Height = 488                           ' ±N­ì¥»³]©w¤§°ª«×½Õ¦Ü¾A«×¦ì¸m
  32.             ActiveChart.ChartArea.Width = 900
  33.             
  34.             ActiveChart.SeriesCollection(1).InvertIfNegative = True
  35.             ActiveChart.SeriesCollection(1).InvertColor = RGB(32, 178, 208)

  36.             With ActiveChart.SeriesCollection(1).Format.Fill
  37.                 .Visible = msoTrue
  38.                 .ForeColor.RGB = RGB(255, 69, 0)
  39.                 .Transparency = 0
  40.                 .Solid
  41.             End With
  42.         End If
  43.     Next
  44. End Sub
½Æ»s¥N½X
1.  ¦pªG Shapes «e¥[¤W Active. °õ¦æ®É·|¥X²{  ---->  °õ¦æ¶¥¬q¿ù»~ '424':  ¦¹³B»Ý­nª«¥ó

    Active.Shapes(oShape.Name).Select                     ' ¦pªG Shapes «e¥[¤W Active. °õ¦æ®É·|¥X²{  ---->  °õ¦æ¶¥¬q¿ù»~ '424':  ¦¹³B»Ý­nª«¥ó
    ' ActiveSheet.ChartObjects(oShape.Name).Activate

2A.  ¦pªG Shapes «e®³±¼¼W¥[¤§ Active. °õ¦æ®É

    Shapes(oShape.Name).Select                     
    ' ActiveSheet.ChartObjects(oShape.Name).Activate

    ©ÎªÌ¬O¥H

    ' Shapes(oShape.Name).Select                     
    ActiveSheet.ChartObjects(oShape.Name).Activate

    ¤è¦¡°õ¦æ®É·|¥X²{  ---->  °õ¦æ¶¥¬q¿ù»~ '5':  µ{§Ç©I¥s©Î¤Þ­z¤£¥¿½T

2B. ¥H 2A ¼Ò¦¡³B²z¡A¤§«á°lÂܵ²ªGµo²{°ÝÃD¥X¦b

    With ActiveSheet.ChartObjects(oShape.Name).Chart
        .Axes(xlCategory).TickLabels.NumberFormatLocal = "hh:mm:ss"
        .Axes(xlCategory).MajorTickMark = xlCategoryScale
        .Axes(xlCategory).TickLabelPosition = xlLow
                        
        Cells(Lines, 38).Value = .ChartTitle.Text
    End With

  2BA:  ¦pªG±N¨ä¤¤ Cells(Lines, 38).Value = .ChartTitle.Text Marked°_¨Ó°õ¦æ

    With ActiveSheet.ChartObjects(oShape.Name).Chart
        .Axes(xlCategory).TickLabels.NumberFormatLocal = "hh:mm:ss"
        .Axes(xlCategory).MajorTickMark = xlCategoryScale
        .Axes(xlCategory).TickLabelPosition = xlLow
                        
        ' Cells(Lines, 38).Value = .ChartTitle.Text
    End With

    °õ¦æ®É·|¥X²{  ---->   °õ¦æ¶¥¬q¿ù»~ '-2147467259 (80004005)':
                          Automation ¿ù»~
                          µLªk«ü¥Xªº¿ù»~

  2BB:  ¦pªG¥u±N¨ä¤¤²Ä¤@¶µ Marked °_¨Ó°õ¦æ

    With ActiveSheet.ChartObjects(oShape.Name).Chart
        ' .Axes(xlCategory).TickLabels.NumberFormatLocal = "hh:mm:ss"
        .Axes(xlCategory).MajorTickMark = xlCategoryScale
        .Axes(xlCategory).TickLabelPosition = xlLow
                        
        Cells(Lines, 38).Value = .ChartTitle.Text
    End With

    °õ¦æ®É·|¥X²{  ---->  °õ¦æ¶¥¬q¿ù»~ '5':  µ{§Ç©I¥s©Î¤Þ­z¤£¥¿½T

  2BC:  ¦pªG¥u±N¨ä¤¤½èºÃªº¨â¶µ Marked °_¨Ó°õ¦æ

    With ActiveSheet.ChartObjects(oShape.Name).Chart
        ' .Axes(xlCategory).TickLabels.NumberFormatLocal = "hh:mm:ss"
        .Axes(xlCategory).MajorTickMark = xlCategoryScale
        .Axes(xlCategory).TickLabelPosition = xlLow
                        
        ' Cells(Lines, 38).Value = .ChartTitle.Text
    End With

    °õ¦æ°_¨Ó²@µL²§¼Ë¡A¦ü¥G¬O¤@¤Á¥¿±`ªº¼Ë¤l¡C

³o©Î³\¬O§Ú¥Î¥\¤´µM¤£¨¬¡A©|½Ð«üÃÒ¡I

TOP

ªþ¤WÀɮסAÁÂÁ±z¡I
¦¨¥æ»ù»P¦¨¥æ¶q.rar (39.68 KB)

TOP

¦^´_ 9# GBKEE
¤£ª¾¹D±z¦³¬Ý¨ì§Ú²î¤WªºÀɮ׶ܡH

TOP

¦^´_ 13# alexliou
ÁÂÁ±z¡I §Ú·|§ó¥¿´ú¸Õ¬Ý¬Ý¡C
¦ý°£¦¹¤§¥~ªº©Ò´£°Ý¿ù»~°T®§¡A¤£ª¾¦³¸Ñ§_ ¡H
ÀɮקڦAªþ¤W¤@¦¸¡A³Â·ÐÀ°§Ú¬Ý¬Ý¬O­þ¸Ì¦³¿ù¡AÁÂÁ±z¡I
¦¨¥æ»ù»P¦¨¥æ¶q.rar (39.68 KB)

TOP

¦^´_ 13# alexliou
¹ï¤£°_¡A§Ú¨S¯d·N¨ì±zµLªk¤U¸ü¡A§Ú§âµ{¦¡½Xªþ¤W¡A
­è¤~¨Ï¥Î ActiveSheet.Shapes() °õ¦æ´N OK ¤F¡A
µM¦Ó Automation ¿ù»~ ¥H¤Î µ{§Ç©I¥s©Î¤Þ­z¤£¥¿½T ©|¥¼¯à¸Ñ¨M¡A­n³Â·Ð±z¤F¡I
  1. Sub setRowColumn()  ' ¥H Excel -> ´¡¤J -> §é½u¹Ï¡Bª½±ø¹Ï ¤è¦¡¤@¤@´¡¤J©ó¤u§@ªí³æ¤ºªºÀˬd¤è¦¡¡C
  2.     Dim oShape As Shape
  3.     Dim numChart As Integer
  4.     Dim totalRows As Single
  5.    
  6.     numChart = 0
  7.    
  8.     Sheets("²Î­p¹Ïªí").Select
  9.     totalRows = Range("B" & Rows.Count).End(xlUp).Row        ' ¶Ç¦^ B Äæ©Ò¨Ï¥ÎÀx¦s®æ¤§³Ì«á¤@®æ¤§¦C¸¹
  10.             
  11.     For Each oShape In ActiveSheet.Shapes
  12.         If oShape.Type = 3 Then
  13.             numChart = numChart + 1
  14.             
  15.             ActiveSheet.Shapes(oShape.Name).Select                     ' OK!
  16.             ' ActiveSheet.ChartObjects(oShape.Name).Activate
  17.            
  18.             ActiveChart.SetSourceData Source:=Range("$B$1:$B$" & totalRows & ", $F$1:$F$" & totalRows & ", $V$1:$V$" & totalRows)
  19.                      
  20.             With ActiveSheet.ChartObjects(oShape.Name).Chart
  21.                 ' .Axes(xlCategory).TickLabels.NumberFormatLocal = "hh:mm:ss"    ' °õ¦æ¶¥¬q¿ù»~ '-2147467259 (80004005)': Automation ¿ù»~ µLªk«ü¥Xªº¿ù»~
  22.                 .Axes(xlCategory).MajorTickMark = xlCategoryScale
  23.                 .Axes(xlCategory).TickLabelPosition = xlLow
  24.                         
  25.                 ' Cells(2, 26).Value = .ChartTitle.Text                          ' °õ¦æ¶¥¬q¿ù»~ '5':  µ{§Ç©I¥s©Î¤Þ­z¤£¥¿½T
  26.             End With
  27.                   
  28.             ActiveSheet.Shapes(oShape.Name).Left = Cells(3, 1).Left     ' ³]©w¦¹¹Ïªí¹ê»ÚÂ\©ñªº X¡BY ®y¼Ð¦ì¸m¡C
  29.             ActiveSheet.Shapes(oShape.Name).Top = Cells(3, 1).Top
  30.                     
  31.             ActiveChart.ChartArea.Height = 488                           ' ±N­ì¥»³]©w¤§°ª«×½Õ¦Ü¾A«×¦ì¸m
  32.             ActiveChart.ChartArea.Width = 900
  33.             
  34.             ActiveChart.SeriesCollection(1).InvertIfNegative = True
  35.             ActiveChart.SeriesCollection(1).InvertColor = RGB(32, 178, 208)

  36.             With ActiveChart.SeriesCollection(1).Format.Fill
  37.                 .Visible = msoTrue
  38.                 .ForeColor.RGB = RGB(255, 69, 0)
  39.                 .Transparency = 0
  40.                 .Solid
  41.             End With
  42.         End If
  43.     Next
  44.    
  45.     Cells(1, 1).Select
  46. End Sub
½Æ»s¥N½X

TOP

¦^´_ 16# GBKEE
²×©ó¥i¥H¥¿±`¹B§@¤F¡AÁÂÁ±z¡I
°ß¤@¤£¸Ñªº¬O¬°¦ó Cells(Lines, 38).Value = ActiveChart.ChartTitle.Text ·|¦³¿ù»~°T®§¡A¯u§Æ±æ¯à½T¤Á¤F¸Ñ°ÝÃD©Ò¦b¡C

TOP

        ÀR«ä¦Û¦b : ¨Ã«D¦³¿ú¾{¬O§Ö¼Ö¡A°Ý¤ßµL·\¤ß³Ì¦w¡C
ªð¦^¦Cªí ¤W¤@¥DÃD