返回列表 上一主題 發帖

較複雜的重新排序

回復 5# wei9133


你好,
我是利用VBA的方式產生表格,
你看看這樣的設計是否有符合你的需求 : )
表格排序 (2).zip (17.66 KB)
  1. Sub CreateForm()
  2.     Dim C&, i%, iStart%, iEnd%, J%, jStart%, jEnd%, P%, PEnd%
  3.     Range(Cells(1, 5), Cells(Cells.Rows.Count, Cells.Columns.Count)).Clear
  4.     PEnd = Range("C5") - 1
  5.     For P = 0 To PEnd
  6.         If Range("C2") = "" Then
  7.             C = 1 + P
  8.         Else
  9.             C = Range("C2") + P
  10.         End If
  11.         iStart = 2 + P * (Range("C3") + 2)
  12.         iEnd = iStart + Range("C3")
  13.         jStart = 5
  14.         jEnd = jStart + Range("C4")
  15.         For i = iStart To iEnd
  16.             For J = jStart To jEnd
  17.                 Cells(i, J) = C
  18.                 C = C + Range("C5")
  19.             Next
  20.         Next
  21.         SetFormat Range(Cells(iStart, jStart), Cells(iEnd, jEnd))
  22.     Next
  23. End Sub

  24. Sub SetFormat(R As Range)
  25.     With R
  26.         .HorizontalAlignment = xlCenter
  27.         .VerticalAlignment = xlCenter
  28.         .Borders(xlDiagonalDown).LineStyle = xlNone
  29.         .Borders(xlDiagonalUp).LineStyle = xlNone
  30.         .Borders(xlEdgeLeft).LineStyle = xlContinuous
  31.         .Borders(xlEdgeTop).LineStyle = xlContinuous
  32.         .Borders(xlEdgeBottom).LineStyle = xlContinuous
  33.         .Borders(xlEdgeRight).LineStyle = xlContinuous
  34.         .Borders(xlInsideVertical).LineStyle = xlContinuous
  35.         .Borders(xlInsideHorizontal).LineStyle = xlContinuous
  36.     End With
  37. End Sub
複製代碼

TOP

回復 8# wei9133


我居然會犯這種低級錯誤,
覺得好羞恥唷~  QQ


我有修改好成你希望的方式回覆在你最新的主題當中,
請小心食用。

TOP

        靜思自在 : 脾氣嘴巴不好,心地再好也不能算是好人。
返回列表 上一主題