- ©«¤l
- 95
- ¥DÃD
- 29
- ºëµØ
- 0
- ¿n¤À
- 150
- ÂI¦W
- 0
- §@·~¨t²Î
- windows2003
- ³nÅ骩¥»
- office 2003
- ¾\ŪÅv
- 20
- ©Ê§O
- ¨k
- ¨Ó¦Û
- Kaoshiung
- µù¥U®É¶¡
- 2010-11-5
- ³Ì«áµn¿ý
- 2018-2-8
|
[/code][b]¦^´_ [url=http://forum.twbts.com/redirect.php?goto=findpost&pid=50094&ptid=8871]6#[/url] [i]cmo140497[/i] [/b]
¤£¦n·N«ä,¤p§Ì¸Õ¥X¨Ó¤F,¥Îworksheets(index)´NOK¤F,¤£¹L¤´·PÁ±zªº«üÂI°g¬z,·P®¦!
[code]Sub Test()
Dim vCols As Long, cIndex As Long, rIndex As Long
Dim first As Long, last As Long
Dim sCopy As String
Dim r, c
Dim myshtc As Long
Worksheets(1).Rows("48:99").Clear
myshtc = ThisWorkbook.Sheets.Count
first = 3
last = myshtc
sCopy = "B6:P16"
r = Range(sCopy).Rows.Count + 1
c = Range(sCopy).Columns.Count + 1
'¥i¨£ªºÄæ¼ÆÁ`¼Æ
vCols = Sheets("DashBoard").Cells.SpecialCells(xlCellTypeVisible).Columns.Count
For i = first To last
rIndex = Int((i - first) / Int(vCols / c))
cIndex = (i - first) Mod Int(vCols / c)
newR = r * rIndex
newC = c * cIndex
With Sheets("DashBoard").[R50].Offset(newR, newC)
.Offset(-1, 1).Value= "ID"
.Offset(-1, 2).Value = Worksheets(i).Name
Worksheets(i).Range(sCopy).Copy .Cells(1, 1)
End With
Next i
End Sub |
|