Board logo

標題: 請問一個排序轉置(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
  1. Sub zz()

  2. Sheets("Sheet1").Select
  3. Range("K6:Q17").ClearContents
  4.    
  5. For I = 6 To 16 Step 2
  6.   W = 11
  7.   For J = 6 To 16 Step 2
  8.     For K = 4 To 7
  9.       If Cells(I, 10) = Cells(J + 1, K) Then
  10.          Cells(I, W) = Cells(J, 3)
  11.          S = Cells(J, 3) & Cells(J, K)
  12.          Cells(I + 1, W) = WorksheetFunction.VLookup(S, Range("H22:I47"), 2, 0)
  13.          W = W + 1
  14.          GoTo 123
  15.       End If
  16.     Next K
  17. 123:
  18.   Next J
  19. Next I

  20. 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個儲存格 回傳值不知是否正確
  1. Sub zz()
  2. Sheets("Sheet1").Select
  3. Range("K6:AH17").ClearContents
  4. For I = 6 To 16 Step 2
  5.   W = 11
  6.   For J = 6 To 16 Step 2
  7.     For K = 4 To 7
  8.       If Cells(I, 10) = Cells(J + 1, K) Then
  9.          Cells(I, W) = Cells(J, 3)
  10.          S = Cells(J, 3) & Cells(J, K)
  11.          For T = 22 To 47
  12.            If S = Cells(T, 8) Then
  13.               Cells(I + 1, W) = Cells(T, 9)
  14.               W = W + 1
  15.               GoTo 123
  16.            End If
  17.          Next T
  18.          If Cells(I + 1, W) = "" Then
  19.             Cells(I + 1, W) = 0
  20.             W = W + 1
  21.          End If
  22.       End If
  23. 123:
  24.      Next K
  25.   Next J
  26. Next I
  27. End Sub
複製代碼





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