返回列表 上一主題 發帖

有錄製巨集但要寫成迴圈還是摸不到邊

有錄製巨集但要寫成迴圈還是摸不到邊

本帖最後由 GBKEE 於 2015-2-2 15:28 編輯

社團數高達120個
學生人數固定40
希望可以將學生名單和成績整理到總表。
希望有大大可以幫忙。相關資料如附件。

Book1.rar (17.21 KB)

回復 4# GBKEE


     完全符合 謝謝大大 拜讀中

TOP

回復 3# opman
  1. Option Explicit
  2. Sub 整理()
  3.     Dim iCols%, i%, iRows&
  4.     Dim Rng As Range
  5.     Sheets("總表").UsedRange.Clear
  6.     iRows = Sheets("學生名單").UsedRange.Rows.Count '標頭 + 學生人數
  7.     iCols = Sheets("成績").UsedRange.Columns.Count  '社團數
  8.     For i = 2 To iCols
  9.         Set Rng = Sheets("總表").Cells(Sheets("總表").Rows.Count, "a").End(xlUp)
  10.         '往下貼的位置
  11.         With Rng.Offset(IIf(Rng.Row = 1, 0, 1)).Resize(iRows)
  12.             .Cells = Sheets("學生名單").Columns(1).Value       '第一欄:學生名單
  13.             .Offset(, 1) = Sheets("學生名單").Columns(i).Value '第二欄:學生名稱
  14.             .Offset(, 2) = Sheets("成績").Columns(i).Value     '第三欄:學生成績
  15.         End With
  16.     Next
  17. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 2# luhpro


    感謝大大,但我是想接續貼下去。要如何改

Book1-A.zip (41.4 KB)

TOP

社團數高達120個
學生人數固定40
希望可以將學生名單和成績整理到總表。
希望有大大可以幫忙。相關資料如 ...
opman 發表於 2015-1-27 11:53
  1. Sub 整理()
  2.   Dim iCol%, iCols%
  3.   Dim lRows1&, lRows2&, lRowsT&, lRow&
  4.   Dim shS1 As Worksheet, shS2 As Worksheet, shST As Worksheet
  5.   
  6.   Set shS1 = Sheets("學生名單")
  7.   Set shS2 = Sheets("成績")
  8.   Set shS3 = Sheets("總表")
  9.   shS3.Cells.Clear
  10.   With shS1
  11.     .[A1].Resize(.Cells(Rows.Count, 1).End(xlUp).Row).Copy shS3.[A1]
  12.     iCols = shS1.Cells(1, Columns.Count).End(xlToLeft).Column
  13.     For iCol = 2 To iCols
  14.       .Cells(1, iCol).Resize(41).Copy shS3.Cells(1, (iCol - 1) * 2)
  15.       shS2.Cells(1, iCol).Resize(41).Copy shS3.Cells(1, (iCol - 1) * 2 + 1)
  16.     Next
  17.   End With
  18. End Sub
複製代碼
Book1-A.zip (62.14 KB)

TOP

        靜思自在 : 有多少力量就做多少事,不要心存等待,等待才會落空。
返回列表 上一主題