2015-03-31 92 views
-4

需要幫助您不要這樣做請:Excel的VBA編程範圍內選擇問題

  1. 打開一個輸入框,提示用戶可以選擇從1工作表數
  2. 存儲值的用戶中的一個變量進入一個名爲Index的整數。 您可能會假定用戶將始終輸入有效的輸入(即1,2或3)。例如,如果用戶輸入文本, 程序將發生運行時錯誤 - 但您不需要編寫代碼來處理此情況。
  3. 使用用戶輸入的索引編號和工作表()集合對象 來激活選定的工作表。
  4. 查找列A中的項目數(從單元格A1開始),並將其存儲在名爲L1的變量中;將其存儲在 中;在列B中找到列表中的項目數(單元格B1中的 開始),並將其存儲在名爲L2的變量中。
  5. 使用If語句確定要存儲在名爲 的變量中的字符串答案: 如果列A中的項目數較大,則「列表1更長」。 如果列B中的項目數量較大,則「列表2更長」,否則「 」相同長度。
  6. 打開顯示答案的消息框。
+0

**發表您當前的代碼** – 2015-03-31 21:24:29

+0

哪你需要幫助的部分?你需要什麼樣的幫助? – 2015-03-31 21:25:46

+0

你一直在問太多。刪除第2步到第6步並專注於第1步.VBA程序可以通過數字訪問工作表,但用戶不知道這些數字。一種方法是使用工作表名稱填充一個列表框。另一種方法是要求用戶在宏啓動時確認所需的工作表處於活動狀態。研究編碼解決步驟1的宏。如果遇到困難,請發佈錯誤的代碼並解釋發生了什麼問題。一旦這個宏正在工作,研究步驟2. – 2015-03-31 21:49:35

回答

1

嗯......

Sub HomeworkForNmHomie13() 
Dim Response, Index, L1, L2, Answer 
Do 
    Response = InputBox("Enter a number from 1 to " & Worksheets.Count) 
    If Response = "" Then Exit Sub 
    'Your teacher said don't do error handling, but that's for failures. 
    On Error Resume Next 
    Index = Int(Response) 
    On Error GoTo 0 
    If Index > Worksheets.Count Or Index < 1 Then 
     MsgBox ("Your entry was invalid. Please enter a number between 1 and " & Worksheets.Count) 
    End If 
Loop While Index > Worksheets.Count Or Index < 1 
Sheets(Index).Activate 
L1 = Cells(Rows.Count, "A").End(xlUp).Row 'Assuming an "item" includes blank cells 
L2 = Cells(Rows.Count, "B").End(xlUp).Row 'Just grab the last row with data 
'Use 2 IIF Statements to check the length using one line of code and look smart as hell 
Answer = IIf(L1 > L2, "List 1 is longer", IIf(L2 > L1, "List 2 is Longer", "Same length")) 
MsgBox (Answer) 
End Sub 

如果您希望通過滿足最低要求 「打動」 你的老師:

Sub LazyHomeworkForNmHomie13() 
Index = Int(InputBox("Enter a number from 1 to " & Worksheets.Count)) 
Sheets(Index).Activate 
L1 = Cells(Rows.Count, "A").End(xlUp).Row 
L2 = Cells(Rows.Count, "B").End(xlUp).Row 
Answer = IIf(L1 > L2, "List 1 is longer", IIf(L2 > L1, "List 2 is Longer", "Same length")) 
MsgBox (Answer) 
End Sub 
+1

我將假設這一切作品和upvote只是爲了評論:-) – 2015-04-01 04:12:08

+1

謝謝你。這有所幫助。我用它來比較我的合作伙伴的代碼實際上哈哈。謝謝。 – nmhomie13 2015-04-02 21:36:03