小编Pet*_*ord的帖子

打开用户窗体时启用excel工作簿

我有一个工作簿,在打开工作簿时会打开一个用户窗体。这引起了一个问题,因为它随后禁用了所有打开的excel工作簿,因此用户无法对其他工作簿进行更改

有没有一种方法可以让用户仍然编辑/打开其他打开的工作簿,并且仍然保持用户窗体的打开状态?

提前致谢

excel vba excel-vba userform

4
推荐指数
2
解决办法
1万
查看次数

多个VBA if语句触发不同的事件

抱歉,我认为这是非常基本的,但我想知道是否有人可以告诉我为什么这些IF语句似乎只有 1 个运行。“CASH”选项的第三个IF语句有效,但不幸的是,其他 2 个语句无效。

Sub HideUnhide_Discount()

If Range("Payment_Option") = "Subscription" Then
    Range("MnthD_Row").EntireRow.Hidden = False
    Range("MnthD").Value = 0
Else
    Range("MnthD_Row").EntireRow.Hidden = True
End If

If Range("Payment_Option") = "Lease" Then
    Range("OOD_Row").EntireRow.Hidden = False
    Range("Leasing_Info").EntireRow.Hidden = False
    Range("OOD").Value = 0
Else
    Range("OOD_Row").EntireRow.Hidden = True
    Range("Leasing_Info").EntireRow.Hidden = True
End If

If Range("Payment_Option") = "Cash" Then
    Range("OOD_Row").EntireRow.Hidden = False
    Range("MnthD_Row").EntireRow.Hidden = False
    Range("OOD").Value = 0
Else
    Range("OOD_Row").EntireRow.Hidden = True
    Range("MnthD_Row").EntireRow.Hidden = True
End If

End Sub
Run Code Online (Sandbox Code Playgroud)

excel vba nested-if excel-2013

2
推荐指数
1
解决办法
513
查看次数

自动填充MsgBox

我想知道是否有人可以帮助我将下面变成一个msg框.基本上我希望它首先检查下面的任何一个范围是否说CHECK,如果他们这样做,msgbox会出现解释哪个规则被破坏了.我曾试图创建变量,但不确定如何在msgbox中实现它.

Sub ErrorMsgBox()

Dim Error1 As String
    If Range("DaisyFreshRule").Value = "CHECK" Then
    Error1 = "Daisy Fresh Rule"
Else
End If

Dim Error2 As String
    If Range("MigrationRule").Value = "CHECK" Then
    Error2 = "Migration Rule"
Else
End If

Dim Error3 As String
    If Range("ServiceCreditRule").Value = "CHECK" Then
    Error3 = "Service Credit Rule"
Else
End If

End Sub
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba msgbox excel-2013

1
推荐指数
1
解决办法
49
查看次数

简化精选案例

我仍然是VBA的新手,但经过一些研究,我已经建立了以下选择案例.

我想隐藏/取消隐藏单元格中指定的行数.我目前有一个选择的案例,但很长,仅限30.

Sub Toggle_Rows()
Dim Sheet As Worksheet: Set Sheet = ThisWorkbook.Worksheets("Calendar")
Change Sheet1 to the name of your sheet

Select Case CStr(Sheet.Range("NoEmployees").Value2)

Case "1"
    Sheet.Rows("8:36").Hidden = True
    Sheet.Rows("7:7").Hidden = False
Case "2"
    Sheet.Rows("9:36").Hidden = True
    Sheet.Rows("7:8").Hidden = False
Case "3"
    Sheet.Rows("10:36").Hidden = True
    Sheet.Rows("7:9").Hidden = False
Case "4"
    Sheet.Rows("11:36").Hidden = True
    Sheet.Rows("7:10").Hidden = False
Case "5"
    Sheet.Rows("12:36").Hidden = True
    Sheet.Rows("7:11").Hidden = False
Case "6"
    Sheet.Rows("13:36").Hidden = True
    Sheet.Rows("7:12").Hidden = False
Case "7"
    Sheet.Rows("14:36").Hidden = True
    Sheet.Rows("7:13").Hidden = False
Case …
Run Code Online (Sandbox Code Playgroud)

select vba case excel-vba excel-2013

0
推荐指数
1
解决办法
48
查看次数

标签 统计

vba ×4

excel ×3

excel-2013 ×3

excel-vba ×3

case ×1

msgbox ×1

nested-if ×1

select ×1

userform ×1