標題:
請問一個排序轉置(VBA)的問題
[打印本頁]
作者:
tonycho33
時間:
2011-12-6 12:02
標題:
請問一個排序轉置(VBA)的問題
1.從資料檔(a1~a6)轉置成輸出檔(c1~c6)
2.例如輸出檔從c1對應a1時,回去尋找資料檔對應欄位等於a1b1,再對應資料庫的值12,然後顯示於K7欄
3.在I欄統計各列值的總和
作者:
register313
時間:
2011-12-6 23:02
本帖最後由 register313 於 2011-12-6 23:06 編輯
回復
1#
tonycho33
初學者VBA
Sub zz()
Sheets("Sheet1").Select
Range("K6:Q17").ClearContents
For I = 6 To 16 Step 2
W = 11
For J = 6 To 16 Step 2
For K = 4 To 7
If Cells(I, 10) = Cells(J + 1, K) Then
Cells(I, W) = Cells(J, 3)
S = Cells(J, 3) & Cells(J, K)
Cells(I + 1, W) = WorksheetFunction.VLookup(S, Range("H22:I47"), 2, 0)
W = W + 1
GoTo 123
End If
Next K
123:
Next J
Next I
End Sub
複製代碼
作者:
tonycho33
時間:
2011-12-11 21:23
回復
2#
register313
請問之前參考您的程式,發現好像如果出現重複就無法排,要如何處理呢?
1.請問如果要從資料檔中 ,先從a1(c1,c1,c1,c1)順序下來,再來排a2帶入輸出檔
2.重複的也可排
3.vlookup如果抓不到值,可以帶入0嗎
作者:
register313
時間:
2011-12-11 22:30
本帖最後由 register313 於 2011-12-11 22:50 編輯
回復
3#
tonycho33
有註解的4個儲存格 回傳值不知是否正確
Sub zz()
Sheets("Sheet1").Select
Range("K6:AH17").ClearContents
For I = 6 To 16 Step 2
W = 11
For J = 6 To 16 Step 2
For K = 4 To 7
If Cells(I, 10) = Cells(J + 1, K) Then
Cells(I, W) = Cells(J, 3)
S = Cells(J, 3) & Cells(J, K)
For T = 22 To 47
If S = Cells(T, 8) Then
Cells(I + 1, W) = Cells(T, 9)
W = W + 1
GoTo 123
End If
Next T
If Cells(I + 1, W) = "" Then
Cells(I + 1, W) = 0
W = W + 1
End If
End If
123:
Next K
Next J
Next I
End Sub
複製代碼
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)