- 帖子
- 8
- 主題
- 3
- 精華
- 0
- 積分
- 11
- 點名
- 0
- 作業系統
- Window 8
- 軟體版本
- OFFICE 2007
- 閱讀權限
- 10
- 性別
- 女
- 註冊時間
- 2014-11-7
- 最後登錄
- 2015-3-11
|
[發問] VBA loop and select case問題 (HELP)
表格(OrderForm)資料會自動轉移到OrderData sheet
在表格中的Case type 是drop down list 有Red, White,Mixed
請問一下如何令Quantity根據前面的Case type 轉移到OrderData sheet
因為表格資料現在只會順序地轉移到工作表
如果case type 裏的選項不同了,那不會match 工作表中的redno, white no, mixed no 的數目
可能我的表達不清楚,但請高手幫忙
這份excel是大學的assignment
CT5002 14-15-001CaneyScopelLiu2.zip (38.83 KB)
- Sub TransferDetails()
- '
- ' TransferDetails Macro
- ' This Macro will make a record of the current details in the order form.
- '
- ' Keyboard Shortcut: Ctrl+Shift+T
- '
-
-
- Sheets("OrderData").Select
-
- 'This IF statement will determine whether or not there is a value in the first row of the database and will paste the data accordingly
-
- If IsEmpty(ActiveSheet.Range("A2")) Then
-
- Range("A2").Select
-
- Else
-
- Sheets("OrderForm").Select
- Sheets("OrderData").Select
- Range("A1").Select
- Selection.End(xlDown).Select
- ActiveCell.Offset(1, 0).Range("A1").Select
-
- End If
-
- Sheets("OrderForm").Select
- Range("D14").Select
- Selection.Copy
- Sheets("OrderData").Select
- Selection.PasteSpecial Paste:=xlPasteValues
- ActiveCell.Offset(0, 1).Range("A1").Select
-
- ' Forloop starts here
- Sheets("OrderForm").Select
-
- Dim Winetype As Integer
- Dim RWM As String
- RWM = ("RWM")
- For Winetype = 1 To 3
- ' LOOP ONE
- ' This section places the Wine Type Into the RWM Cell for referencing
- ' 2.1
- '2.1.1
-
- Sheets("OrderForm").Select
-
- ' 2.1.2
-
- '2.1.2.1
- Range("C17").Select ' <--- C17 = Base Cell
-
- '2.1.2.2
- ActiveCell.Offset(0, 0).Range("A1").Select ' <--- No Change Due to First Iteration
-
- '2.1.3
- '2.1.3.1
- Selection.Copy
- '2.1.3.2.
- Sheets("Price&GiftInfo").Select
- Range("RWM").Select
- Selection.PasteSpecial Paste:=xlPasteValues
- '2.2
- '2.2.1
- Sheets("OrderForm").Select
-
- '2.2.2
- ActiveCell.Offset(0, 2).Select
-
- '2.2.3
- Selection.Copy
-
- '2.3
- '2.3.1.
-
- Sheets("OrderData").Select
- ActiveCell.Select ' <---- No current movement as First Iteration
-
- '2.3.2
- Select Case RWM
-
- Case Is = "Red"
- ActiveCell.Offset(0, 0).Select
-
- Case Is = "White"
- ActiveCell.Offset(0, 1).Select
-
- Case Is = "Mixed"
- ActiveCell.Offset(0, 2).Select
-
- End Select
-
- '2.3.3
- Selection.PasteSpecial Paste:=xlPasteValues
-
- Next
-
- For Winetype = 3 To 3
-
-
-
-
-
-
- '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
-
- ' LOOP TWO
- '2.1
-
- '2.1.1
- Sheets("OrderForm").Select
-
- '2.1.2
-
- '2.1.2.1
- Range("C17").Select
-
- '2.1.2.2
- ActiveCell.Offset(1, 0).Range("A1").Select ' <---- Second iteration = Move one down
-
- '2.1.3
- '2.1.3.1
- Selection.Copy
- '2.1.3.2.
- Sheets("Price&GiftInfo").Select
- Range("RWM").Select
- Selection.PasteSpecial Paste:=xlPasteValues
-
- '2.2
- '2.2.1
- Sheets("OrderForm").Select
-
- '2.2.2
- ActiveCell.Offset(0, 2).Select
-
- '2.2.3
- Selection.Copy
-
- '2.3
- '2.3.1.
- Sheets("OrderData").Select
-
- ActiveCell.Offset(0, 1).Select ' <---- Second Iteration = Move One Across
-
- '2.3.2
-
- Select Case RWM
-
- Case Is = "Red"
- ActiveCell.Offset(0, -1).Select
-
- Case Is = "White"
- ActiveCell.Offset(0, 0).Select
-
- Case Is = "Mixed"
- ActiveCell.Offset(0, 1).Select
-
- End Select
-
- '2.3.3
- Selection.PasteSpecial Paste:=xlPasteValues
-
-
- Next
-
- For Winetype = 3 To 3
-
-
-
-
-
- '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
-
- ' LOOP THREE
- '2.1
- '2.1.1
- Sheets("OrderForm").Select
-
- '2.1.2
-
- '2.1.2.1
- Range("C17").Select
-
- '2.1.2.2
- ActiveCell.Offset(2, 0).Range("A1").Select ' <---- Third iteration = Move two down
-
- '2.1.3
- '2.1.3.1
- Selection.Copy
- '2.1.3.2.
-
- Sheets("Price&GiftInfo").Select
- Range("RWM").Select
- Selection.PasteSpecial Paste:=xlPasteValues
-
- '2.2
- '2.2.1
- Sheets("OrderForm").Select
-
- '2.2.2
- ActiveCell.Offset(0, 2).Select
-
- '2.2.3
- Selection.Copy
-
-
- '2.3
- '2.3.1.
- Sheets("OrderData").Select
-
- ActiveCell.Offset(0, 1).Select ' <---- Third Iteration = Move Two Across
-
- '2.3.2
-
- Select Case RWM
-
- Case Is = "Red"
- ActiveCell.Offset(0, -2).Select
-
- Case Is = "White"
- ActiveCell.Offset(0, -1).Select
-
- Case Is = "Mixed"
- ActiveCell.Offset(0, 0).Select
-
- End Select
-
- '2.3.3
- Selection.PasteSpecial Paste:=xlPasteValues
-
- Next Winetype
-
-
-
-
- ' Forloop ends here
- ActiveCell.Offset(0, 1).Select
-
- Sheets("OrderForm").Select
- Range("E23").Select
- Application.CutCopyMode = False
- Selection.Copy
- Sheets("OrderData").Select
- Selection.PasteSpecial Paste:=xlPasteValues
- ActiveCell.Offset(0, 1).Range("A1").Select
-
- Sheets("OrderForm").Select
- Range("E25:F25").Select
- Application.CutCopyMode = False
- Selection.Copy
- Sheets("OrderData").Select
- ActiveCell.Select
- Selection.PasteSpecial Paste:=xlPasteValues
- ActiveCell.Offset(0, 1).Range("A1").Select
-
- Sheets("OrderForm").Select
- Range("F21").Select
- Application.CutCopyMode = False
- Selection.Copy
- Sheets("OrderData").Select
- Selection.PasteSpecial Paste:=xlPasteValues
- ActiveCell.Offset(0, 1).Range("A1").Select
-
- Sheets("OrderForm").Select
- Range("H17").Select
- Application.CutCopyMode = False
- Selection.Copy
- Sheets("OrderData").Select
- Selection.PasteSpecial Paste:=xlPasteValues
- ActiveCell.Offset(0, 1).Range("A1").Select
-
- Sheets("OrderForm").Select
- Range("H19").Select
- Application.CutCopyMode = False
- Selection.Copy
- Sheets("OrderData").Select
- Selection.PasteSpecial Paste:=xlPasteValues
- ActiveCell.Offset(0, 1).Range("A1").Select
-
- Sheets("OrderForm").Select
- Range("H21").Select
- Application.CutCopyMode = False
- Selection.Copy
- Sheets("OrderData").Select
- Selection.PasteSpecial Paste:=xlPasteValues
- ActiveCell.Offset(0, 1).Range("A1").Select
-
- Sheets("OrderForm").Select
- Range("H23").Select
- Application.CutCopyMode = False
- Selection.Copy
- Sheets("OrderData").Select
- Selection.PasteSpecial Paste:=xlPasteValues
- ActiveCell.Offset(0, 1).Range("A1").Select
-
- Sheets("OrderForm").Select
- Range("H25").Select
- Application.CutCopyMode = False
- Selection.Copy
- Sheets("OrderData").Select
- Selection.PasteSpecial Paste:=xlPasteValues
- ActiveCell.Offset(0, 1).Range("A1").Select
-
- Sheets("OrderForm").Select
- Range("H27").Select
- Application.CutCopyMode = False
- Selection.Copy
- Sheets("OrderData").Select
- Selection.PasteSpecial Paste:=xlPasteValues
- ActiveCell.Offset(0, 1).Range("A1").Select
-
- ' Updates the ref no.
-
- Sheets("Price&GiftInfo").Select
- Application.CutCopyMode = False
-
- Range("A21").Select
- ActiveCell.FormulaR1C1 = "='OrderData'!R[18]C[-13]+1"
-
- Sheets("OrderForm").Select
- Range("H14").Select
- ActiveCell.FormulaR1C1 = "='OrderData'!R[7]C[-7]+1"
- Selection.Copy
-
- Sheets("OrderData").Select
- Selection.PasteSpecial Paste:=xlPasteValues
- Application.CutCopyMode = False
- Selection.Copy
-
- Sheets("Price&GiftInfo").Select
- Selection.PasteSpecial Paste:=xlPasteValues
- Application.CutCopyMode = False
- Sheets("OrderData").Select
- ActiveCell.Select
-
- End Sub
複製代碼 |
|