- 帖子
- 9
- 主題
- 4
- 精華
- 0
- 積分
- 15
- 點名
- 0
- 作業系統
- windows 10
- 軟體版本
- office 2010
- 閱讀權限
- 10
- 性別
- 女
- 來自
- 桃園
- 註冊時間
- 2016-5-4
- 最後登錄
- 2016-6-8
|
[發問] vba for next用法及效率改善問題
之前有發問,但是有幾個地方我弄錯了,所以重新提問一遍,麻煩大家幫我想一想!!
程式碼- Sub morecriteriafilter()
-
- Dim i As Integer, j As Integer, k As Integer
-
- With Worksheets("be1")
- x = 0
- For i = 0 To 5
- For j = 0 To 5
- .Range("A1").AutoFilter Field:=2, Criteria1:="<" & 3 + i, Operator:=xlAnd, Criteria2:=">" & 0 + i
- .Range("A1").AutoFilter Field:=3, Criteria1:="=" & 1 + x
- .Range("A1").AutoFilter Field:=5, Criteria1:=Cells(j + 2, 10)
- .AutoFilter.Range.SpecialCells(xlCellTypeVisible).Copy Worksheets("1").Range("B2").Offset(7 * i, 7 * j)
-
- Next j
- Next i
- .Range("A1").AutoFilter
- End With
-
- End Sub
複製代碼 變數範圍
t0 (field:=2) : 1~1065
T (field:=3) : 1~121
K (field:=5) : Cells(2~132,10)
問題如下
目前程式碼假定T=1(即x=0),我設定了i和j來表示變數t0、K不同時,會在工作表"1"中不同位置顯示
Q1: 但是我現在想加了一個for x=0 to 120來表示變數T不同時的迴圈,並顯示在額外增加(本來沒有)的工作表"2"、"3"、...、"120"、"121"中,但是.AutoFilter.Range.SpecialCells(xlCellTypeVisible).Copy Worksheets("1").Range("B2").Offset(7 * i, 7 * j)中的Worksheets("1")不知道要如何改?
Q2: 我提供的程式碼只顯示i =0 to 5 及j= 0 to 5,但是我要的是i=0 to 1063,j=0 to 130,可是會當機,想請問如何改動?
|
|