Board logo

標題: 儲存格程式該如何陣列循環 [打印本頁]

作者: yueh0720    時間: 2013-3-11 11:10     標題: 儲存格程式該如何陣列循環

儲存格程式該如何陣列循環
如附件
[attach]14330[/attach]
作者: mark15jill    時間: 2013-3-11 11:29

回復 1# yueh0720
  1. k1 = ActiveSheet.Range("A1").CurrentRegion.Rows.Count


  2. 簡易的解法..
  3. 另附上 若P有數值,則C-N 以淡藍色顯示


  4. For ap = 1 To k1
  5.     If Cells(ap, "p") <> "" Then
  6.         For ap1 = 3 To 14
  7.         Cells(ap, ap1) = Cells(ap, ap1 + 13)
  8.         
  9.             Cells(ap, ap1).Select
  10.             With Selection.Interior
  11.                 .Pattern = xlSolid
  12.                 .PatternColorIndex = xlAutomatic
  13.                 .ThemeColor = xlThemeColorAccent5
  14.                 .TintAndShade = 0.599993896298105
  15.                 .PatternTintAndShade = 0
  16.             End With

  17.         Next
  18.     End If

  19. Next
複製代碼

作者: yueh0720    時間: 2013-3-11 11:46

回復 2# mark15jill


儲存格C3會出現" ActiveSheet.Paste"
顏色部分會出現錯誤,將此3項忽略則OK
.ThemeColor = xlThemeColorAccent5
.TintAndShade = 0.599993896298105
.PatternTintAndShade = 0
作者: GBKEE    時間: 2013-3-11 13:02

回復 1# yueh0720
  1. Sub Ex()
  2.     Dim i As Integer
  3.     'With  在一個單一物件或一個使用者自訂型態上執行 ->  一系列的陳述式。
  4.     With ActiveSheet                   '作用中的工作表
  5.         '*** 一系列的陳述式  前面有一 . (點) 表為  ActiveSheet的Cells(i, "P")
  6.         '例:  .Cells(i, "A"), 例: .Cells(i, "C"), 例:  .Cells(i, "P")
  7.         i = 2
  8.         Do While .Cells(i, "A") <> ""  '執行Do的條件: 由A2往下直到A欄的儲存格無資料
  9.             If .Cells(i, "P") <> "" And IsNumeric(.Cells(i, "P")) Then
  10.                 '<> ""(不是空白) AND 是數值
  11.                 .Cells(i, "C").Resize(1, 12) = .Cells(i, "P").Resize(1, 12).Value
  12.                 '.Resize(1, 12)->傳回 1列,12欄 的範圍
  13.                 'Resize 屬性 調整指定的範圍。傳回 Range 物件,該物件代表調整後的範圍。
  14.             End If
  15.         i = i + 1
  16.         Loop
  17.     End With
  18. End Sub
複製代碼

作者: mark15jill    時間: 2013-3-11 16:34

回復  mark15jill


儲存格C3會出現" ActiveSheet.Paste"
顏色部分會出現錯誤,將此3項忽略則OK
.Th ...
yueh0720 發表於 2013-3-11 11:46




以下這段可選擇要不要+...
                Cells(ap, ap1).Select

            With Selection.Interior

                .Pattern = xlSolid

                .PatternColorIndex = xlAutomatic

                .ThemeColor = xlThemeColorAccent5

                .TintAndShade = 0.599993896298105

                .PatternTintAndShade = 0

            End With



        Next

    End If
作者: Hsieh    時間: 2013-3-11 19:42

回復 1# yueh0720
  1. Sub ex()
  2. With ActiveSheet
  3. For Each a In .Range("P:P").SpecialCells(xlCellTypeConstants, xlNumbers)  'P欄數值儲存格
  4.    With a.Offset(, -13).Resize(, 12)
  5.       .Value = a.Resize(, 12).Value
  6.    End With
  7. Next
  8. End With
  9. End Sub
複製代碼





歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)