所以我是新手!我已經使用了錄制宏功能,然后在必要時進行了擴展。我需要幫助的是讓我的輸入框需要一個文本輸入。如果它的空白有和錯誤訊息并回傳到訊息框,如果取消,則洗掉新作業表并回傳到開頭。這就是我正在使用的東西。
Sub SAVE_TEMP_MAR()
'
' SAVE_TEMP_MAR Macro
'
'
Sheets("JP PRN.").Select
Sheets("JP PRN.").Copy Before:=Sheets(4)
Sheets("JP PRN. (2)").Select
Sheets("JP PRN. (2)").Name = ("TEMPORARY MAR")
ActiveWindow.SmallScroll Down:=-21
Range("A1:AF18").Select
Selection.ClearContents
Range("AG1").Select
Sheets("Blank MAR").Select
Range("A1:AF18").Select
Selection.Copy
Sheets("TEMPORARY MAR").Select
Range("A1").Select
ActiveSheet.Paste
Sheets("Blank MAR").Select
Range("AG1").Select
Sheets("TEMPORARY MAR").Select
Sheets("TEMPORARY MAR").Name = InputBox("Enter new name for the MAR." & vbNewLine & vbNewLine & "Please use Resident initials and name of Medication ")
Range("AG1").Select
提前致謝
uj5u.com熱心網友回復:
編輯:我只是想到了一個邊緣情況,如果用戶在沒有輸入任何內容后嘗試取消,用戶可能會陷入無限回圈,一旦我測驗它就會更新。
經過適當的測驗,事實證明這不是問題。
通過使用變數和 if 陳述句,您將能夠檢查這些情況。
以下代碼可以進行很多優化(錄制的宏包含很多緩慢且無用的代碼)但沒有原始作業簿我不會嘗試優化它,但是它應該可以滿足您的需求:
Sub SAVE_TEMP_MAR()
'
' SAVE_TEMP_MAR Macro
'
Dim userInput As String
'Moving the InputBox up here so that if the user cancelles nothing happens.
retry:
userInput = InputBox("Enter new name for the MAR." & vbNewLine & vbNewLine & _
"Please use Resident initials and name of Medication ")
If StrPtr(userInput) = 0 Then
'User cancelled, exit this subroutine
Exit Sub
ElseIf userInput = vbNullString Then
'Input is empty, so go back to retry
MsgBox ("You have to enter a new name!")
GoTo retry
End If
Sheets("JP PRN.").Select
Sheets("JP PRN.").Copy Before:=Sheets(4)
Sheets("JP PRN. (2)").Select
Sheets("JP PRN. (2)").Name = ("TEMPORARY MAR")
Range("A1:AF18").Select
Selection.ClearContents
Range("AG1").Select
Sheets("Blank MAR").Select
Range("A1:AF18").Select
Selection.Copy
Sheets("TEMPORARY MAR").Select
Range("A1").Select
ActiveSheet.Paste
Sheets("Blank MAR").Select
Range("AG1").Select
Sheets("TEMPORARY MAR").Select
Sheets("TEMPORARY MAR").Name = userInput
Range("AG1").Select
End Sub
基本上這會將用戶輸入保存到一個變數中,然后使用兩個 if 陳述句檢查它沒有被取消并且不是空的,然后它才會繼續。我使用這個答案作為添加它的模板。
另請注意,通常不贊成使用 GoTo 陳述句,但我認為這不會成為問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/479537.html
上一篇:洗掉重復標題時
