- 帖子
- 88
- 主題
- 13
- 精華
- 0
- 積分
- 104
- 點名
- 0
- 作業系統
- WIN7
- 軟體版本
- OFFICE2010
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2012-1-3
- 最後登錄
- 2017-12-31
|
12#
發表於 2012-2-27 12:04
| 只看該作者
本帖最後由 yagami12th 於 2012-2-27 12:07 編輯
回復 10# GBKEE
回GBKEE大,因為看範例vba引數的部份一直無法了解,就是下面程式碼紅色字體的部份,所以想請教GBKEE大關於引數的問題:
--------------------------------------------------------------------------------
Option Explicit
Dim Flag
Dim myRow As Integer
Dim newSheet As String
Sub addsheetVer2()
Static Num As Integer
Sheets.Add after:=Sheets(Sheets.Count) '指名引數,數該excel檔有幾個sheet放在最右邊
Sheets(Sheets.Count).Select
ActiveSheet.Name = "pick & num"
Num = Num + 1
End Sub
----------------------------------------------------------------
Sub ChooseVer2(rowChoose, sheetName As String) '原先只有輸入列號,現在要加上工作表的名字
If Worksheets(sheetName).Cells(rowChoose, 5).Value > 10 Then
Flag = 1 '只選取指定sheet的資料做篩選
End If
End Sub
-------------------------------------------------------------------
Sub CopyPasteVer2(rowCopy, rowPaste, copySheet As String, pasteSheet As String) 'copy the row rowcopy in sheet with name "2330"
Dim myStr As String 'and paste to the row rowpaste in the sheet "pick"
Sheets(copySheet).Select
myStr = rowCopy & ":" & rowCopy
Rows(myStr).Select
Selection.Copy
Sheets(pasteSheet).Select <<<<<<<這裡出現陣列索引錯誤9,把冒號的錯誤更正還是一樣~~
myStr = "A" & rowPaste
Range(myStr).Select
ActiveSheet.Paste
End Sub
-----------------------------------------
Sub main3()
Dim myRange As Range
Dim myCell, i
Dim mySheet As String
Set myRange = Application.InputBox("Choose the days", Type:=8) '幫我選取我要篩選的範圍
mySheet = InputBox("input the sheet name you analyze") '選擇工作表
addsheetVer2 '執行上述新增工作表的程式,每次增加的不一樣myRow = 1
For Each myCell In myRange '在我的myrange裡對每一個mycell,來做下面的事情
Flag = 0 '不符合我的要求就跳到下一圈去看是否有符合
i = myCell.Row
ChooseVer2 i, mySheet '選取行檢測是否符合我設的條件
If Flag = 1 Then 'choose子程序把flag改變
CopyPasteVer2 i, myRow, mySheet, newSheet
myRow = myRow + 1
End If
Next
End Sub |
|