小编Mat*_*don的帖子

除非我点击播放按钮,否则VBA excel不会运行

我不知道我哪里出错了.脚本可以工作,但它不会自动运行,除非我进入VBA应用程序并单击脚本运行的播放按钮.有人可以帮忙吗?

Private Sub HideChart1()

    If ActiveWorkbook.Sheets("User Interface").Range("F8") = "Yes" Then

        ActiveWorkbook.Sheets("Sheet1").ChartObjects("Chart 6").Visible = True

    Else

        ActiveWorkbook.Sheets("Sheet1").ChartObjects("Chart 6").Visible = False

    End If

End Sub
Run Code Online (Sandbox Code Playgroud)

excel vba

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

添加ComboBox项目

有没有办法缩短这个VBA:

Me.cboDeptU1.AddItem "1"
Me.cboDeptU1.AddItem "2"
Me.cboDeptU1.AddItem "3"
Me.cboDeptU1.AddItem "4" 
Me.cboDeptU1.AddItem "5"

Me.cboDeptU.SetFocus 
Run Code Online (Sandbox Code Playgroud)

我也在同一个Sub中有这个:

Me.cboDeptL1.AddItem "1"
Me.cboDeptL1.AddItem "2"
Me.cboDeptL1.AddItem "3"
Me.cboDeptL1.AddItem "4"
Me.cboDeptL1.AddItem "5"

Me.cboDeptL.SetFocus 
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba

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

编译错误“预期:=”调用另一个过程时

我尝试调用一个提供参数的过程,它抛出一个编译错误,指出“预期:=”。

...

Dim isWorkaround As Boolean
isWorkaround = False
If Check101.Value = True Then
     isWorkaround = True
End If

...

'Procedure I try to call
ElseIf Combo_Report_Selection = "Adjusted Report" And Combo_someOther= "Other" Then
   Call_01_Adj_Report(div, isWorkaround)
ElseIf Combo_Report_Selection = "Upload Log" Then
   Call_03_Upload_Log
ElseIf Combo_Report_Selection = "Gather Summary" Then
   Call_04_Adj_Summary
End If

Combo_Report_Selection.Value = Null
Combo_Statement.Value = Null

End Sub
__________________________________________

Private Sub Call_01_Adj_Report(ByRef calldiv As Long, ByRef isWorkaround As Boolean)

...

End Sub
__________________________________________
Run Code Online (Sandbox Code Playgroud)

当我插入调用“​​Call_01_Adj_Report(div, isWorkaround)”时它失败了。它在仅提供一个参数时有效,但不适用于两个。但在我的理解中,带参数语法的过程调用是正确的。可能是什么问题?

vba

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

从字符串 C# 中删除 CRLF

我正在尝试将此从字符串中删除 CRLF 的 VBA 函数转换为必须执行相同结果的 C# 函数

Private Function RemoveCRLFFromString(ByVal pString As Variant) As String
Dim i As Integer
Dim c As String * 1

 If IsNull(pString) Then
    RemoveCRLFFromString = ""
 Else
    For i = 1 To Len(pString)
        c = Mid$(pString, i, 1)
        If Asc(c) <> 10 And _
           Asc(c) <> 13 Then
           RemoveCRLFFromString = RemoveCRLFFromString & c
        End If
    Next i
 End If


 RemoveCRLFFromString = Left$(RemoveCRLFFromString, 9)

End Function
Run Code Online (Sandbox Code Playgroud)

到目前为止,我想出了:

public static string RemoveCRLFFromString(string pString )
{
    if(String.IsNullOrEmpty(pString))
    { …
Run Code Online (Sandbox Code Playgroud)

c# string vba

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

在 VBA 中批量导入模块和引用

我有一组大约 10 个模块/表单/类,我喜欢在许多项目中使用和重用它们。通常这些模块是在项目的中间或结束时出现的,而不是在开始时出现(所以没有制作模板并从一开始就使用它 - 我用它来制作一些项目)。是否有一种简单的方法来批量导入模块和引用(不涉及将文件扩展名更改为 .zip)?

我愿意接受文件扩展名更改方法,但我想先耗尽我的其他资源

vba vbe

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

什么是VBAProject关键字?

在“ 对象浏览器”窗口中,有一个正在使用的库的列表。

默认情况下,它带有:

  • Excel(Microsoft Excel 版本对象库)
  • Office(Microsoft Office 版本对象库)
  • stdole(OLE自动化)
  • VBA(用于应用程序的Visual Basic)
  • VBA项目

也可以通过使用VBIDE库(应用程序可扩展性版本的 Microsoft Visual Basic )(除了VBAProject)循环VBProject的引用来找到它们。

VBAProject是一个库,一个特殊关键字还是其他?找不到任何文档。

我想它也是VBA库的一部分,但是它似乎没有出现在引用中。

Dim ref As VBIDE.Reference

For Each ref In Application.VBE.VBProjects(1).References
  MsgBox ref.Name & " - " & ref.Description
Next
Run Code Online (Sandbox Code Playgroud)

VBAProject具有工作簿和工作表的代号。

我也无法手动删除也无法使用 Excel和VBA库编写代码来测试VBAProject是否会消失(Office和stdole是可移动的)。

excel vba keyword vbe dynamic-library

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

如何限制Nginx上每个虚拟主机的请求?

我有一台NGINX服务器,该服务器为Web应用程序提供服务,客户可以在其中访问其网站的域(CNAMES)。

NGINX是否可以在一段时间内限制对其中一个域的访问数量?

例:

我需要的限制:2000个请求/域/分钟

因此,在一个特定的时间段内...

www.websiteA.com.br-1456个请求/分钟OK!

www.websiteB.com.br-1822个请求/分钟OK!

www.websiteC.com.br-2001年请求/分钟暂时锁定

有谁知道如何做这样的限制?

dns nginx limit

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

VBA在今天的日期之前删除行

我在excel上有一个csv文件,该列为~CU.

并且行保持更新(截至目前为2606).

我试着

  1. 删除before today's dateD列上记录的所有行
  2. 今天的日期没有打字/文本框/人工输入.

在此输入图像描述

Sub deleterows()
lastrow = Cells(Rows.Count, 4).End(xlUp).Row
For i = lastrow To 2 Step -1
    If Cells(i, 4).Value < *numeric value* Then Rows(i).EntireRow.Delete
Next i
End Sub
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba

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

试图理解在Range对象上使用Item属性和Cells属性之间的区别

我明白:

  • Range.Item 返回一个Range对象,该对象表示偏移到指定范围的范围.

  • Range.Cells 返回一个Range对象,该对象表示指定范围内的单元格.

但是,当我读到"Item是Range对象的默认属性"时,会出现混淆.

这让我想问:

Range("A1:D5").Cells(1,1)真正的简化版本 Range("A1:D5").Cells.Item(1,1)

为什么不在Range("A1:D5").Item(1,1)任何情况下使用?

为什么VBA程序员似乎使用该Cells属性来引用范围而不是Item属性?仅仅省略Item默认属性是"最佳实践" Cells吗?

excel vba

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

excel vba:制作输入框,以便用户可以输入他/她的名字并在每个msg框中使用

所以我想问一下如何创建一个输入框并使用我的消息框的结果/输入,这样就不会有通常的"Hello User",而是它们的名字.这是我的尝试

Sub WorksheetActivate()
Dim Msg
Msg = "please enter your name"

 If ActiveSheet("Sheet1").Select Then
    InputBox(msg,"dear user")
 End If

End Sub
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba

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

标签 统计

vba ×9

excel ×6

excel-vba ×3

vbe ×2

c# ×1

dns ×1

dynamic-library ×1

keyword ×1

limit ×1

nginx ×1

string ×1