Board logo

標題: [發問] indirect, row向下覆制 [打印本頁]

作者: missbb    時間: 2015-7-23 22:18     標題: indirect, row向下覆制

[attach]21467[/attach][attach]21467[/attach]
請問如何用INDEX, I,NDIRECT,ROW()將同一資料向下覆制30次, 次後再取另一個資料再向下覆制30次, 如此類推?

:)
作者: p212    時間: 2015-7-24 09:18

本帖最後由 p212 於 2015-7-24 09:24 編輯

回復 1# missbb
數據如1#之範例配置,自A橺取值依序分別複製30次
儲存格C3輸入
=INDEX($A:$A,CEILING((ROW()-2)/30,1)+2)
向下複製公式
請參考!
注:1#之範例檔複製結果個數為「31」,若欲依序分別複製31個,則儲存格C3輸入
=INDEX($A:$A,CEILING((ROW()-2)/31,1)+2)
作者: missbb    時間: 2015-7-26 22:34

回復 2# p212

多謝解答.
作者: missbb    時間: 2015-8-1 13:40

感謝, 我將所學轉用至下列出勤表, 請問可否用VBA來改寫呢, 因為涉及不止一個工作表, 所以函數已不能應用.


求教:D [attach]21600[/attach][attach]21600[/attach]
作者: koo    時間: 2015-8-1 17:38

看不到附件僅供參考
將A欄資料每個儲存格複製30次到B欄
  1. Sub test()
  2.     k = 1
  3.     For i = 1 To [A65536].End(xlUp).Row
  4.         Cells(k, 2).Resize(30, 1) = Cells(i, 1)
  5.         k = k + 30
  6.     Next
  7. End Sub
複製代碼

作者: koo    時間: 2015-8-1 17:44

很多Sheets都要做同樣複製
  1. Sub test()
  2. For j = 1 To Sheets.Count
  3.     Sheets(j).Select
  4.     k = 1
  5.     For i = 1 To [A65536].End(xlUp).Row
  6.         Cells(k, 2).Resize(30, 1) = Cells(i, 1)
  7.         k = k + 30
  8.     Next
  9. Next
  10. End Sub
複製代碼

作者: missbb    時間: 2015-8-1 21:27

回復 6# koo

我在檔案內加開了SHEET 1, 內加模組複製你的VBA碼, 但把本身另外SHEET的資料都沒有了. 我應該在那一張SHEET內加模組複製你的VBA碼?

有勞!
作者: missbb    時間: 2015-8-2 11:53

回復 2# p212


多謝解決問題!




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