簡體   English   中英

Excel VBA腳本-InputBox錯誤

[英]Excel VBA script - InputBox Error

我正在嘗試創建一個VBA腳本,以便如果有人鍵入“ Size”,它將粘貼“ Size” 5次,如果他們鍵入“ SizeColor”,它將粘貼5個“ SizeColor”單元格。

另外,如果可以的話,如果用戶輸入“ Size”或“ SizeColor”以外的任何內容,他們將收到一條消息,提示他們不能執行此操作。

Sub SizeAndColor()

Dim val, Size, SizeC As String
Size = "Size"
SizeC = "SizeColor"

val = InputBox("Size or SizeColor?", "Options")

If val = "Size" Then
    ActiveCell.Offset(0, 122).Select
    ActiveCell.Value = Size
    ActiveCell.Offset(1, 0).Select
    ActiveCell.Value = Size
    ActiveCell.Offset(1, 0).Select
    ActiveCell.Value = Size
    ActiveCell.Offset(1, 0).Select
    ActiveCell.Value = Size
    ActiveCell.Offset(1, 0).Select
    ActiveCell.Value = Size
    ActiveCell.Offset(5, -122).Select

Else: val = "SizeColor"
    ActiveCell.Offset(0, 122).Select
    ActiveCell.Value = SizeC
    ActiveCell.Offset(1, 0).Select
    ActiveCell.Value = SizeC
    ActiveCell.Offset(1, 0).Select
    ActiveCell.Value = SizeC
    ActiveCell.Offset(1, 0).Select
    ActiveCell.Value = SizeC
    ActiveCell.Offset(1, 0).Select
    ActiveCell.Value = SizeC
    ActiveCell.Offset(5, -122).Select
    End If

End Sub

正確聲明變量。 您無法在VBA中進行隱式類型分配,因此:

Dim val, Size, SizeC As String實際上表示:

Dim Val as Variant, Size as Variant, SizeC As String

無論如何,您都不需要變量SizeSizeC ,所以讓我們試試看:

Sub SizeAndColor()

Dim val As String 'Input box value
Dim cl As Range

Set cl = ActiveCell
TryAgain:
val = InputBox("Size or SizeColor?", "Options")

Select Case LCase(val) 'Assuming you don't care about case sensitivity, SIZE = size, etc.
    Case "size", "sizecolor"
       '## Put the values 122 columns to the right, and 5 rows down
        cl.Offset(0, 122).Resize(5, 1).Value = val
        cl.Select
    Case Else
    'Do NOT allow any other inputs:
        If MsgBox("You have entered an invalid input. Please input only 'Size' or 'SizeColor'. Try again?", vbYesNo) = vbYes Then
            GoTo TryAgain
        Else:
            Exit Sub
        End If
End Select

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM