这可能很简单,但我最近才开始使用VBA。因此,我定义了大约10行的单个列范围,并将其命名为CB_CL_Values。
让我们假设范围是{1,2,1,3,2,1,1,1,1,3},现在设置为将范围的每个值都更改为1。
Sub Unit_Options_Reset()
Range("CB_CL_Values") = 1
End Sub
假设我只想将值4更改为该范围的10,并保留第一个3。我该怎么写这个?
我在VBA中有一个已经使用了一段时间的过程,用于从SQL DB中提取数据集。
填充模板的时间总是不到1分钟,但从几天开始就超过了10分钟。数据库中没有任何更改,我的VBA代码也没有更改:
它被卡住了:
Sheets("NEW").Range("A3").CopyFromRecordset rst
我甚至从Office 2013升级到了2016年,但这个问题仍然存在。有谁能猜到原因是什么?
我的代码
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim ConnectionString
当搜索范围中有合并的单元格时,我有一个关于在Excel VBA中使用.find方法的问题。代码如下:
Dim SearchCell As Range
Set SearchCell = ActiveSheet.Range("A:A").Find(What:="Open RMA*", LookIn:=xlValues)
运行代码后SearchCell是空的,我猜是因为A26:K26被合并为一个单元格,而值是"Open RMA";我不想取消合并。
我需要一个excel公式或VBA来解决以下问题。所以我需要你们帮我:)
我的问题是:
我有一个表作为打击与给定的总要求和价值。我需要的是生成新的值,这些值的总和应该给我最接近“总请求”的总和。
因此,当新值达到>=总请求时,应该停止生成新值。
给定表:
Total Request 35
Value New Value
1
2
3
14
21
12
请求表
Total Request 35
Value New Value
1 1
2 2
3 3
我有以下代码,我正在使用的VBA中的excel。 它遍历my表,并根据列B ("OSI")和列C (i,e "Reporting")中的值创建一个命名范围 Sub Round2()
Set sht = ThisWorkbook.Worksheets("Features")
'Reporting and OSI
Set featuresRng = sht.Range(sht.Range("B1"), sht.Range("C" & sht.Rows.Count).End(xlUp))
rngA
如何将输入框中的用户输入限制为字母、数字和字符‘-’?我尝试了以下代码。
For I = 1 To Len(UserInput)
If VBA.Asc(VBA.Mid(UserInput, I, 1)) >= 65 And VBA.Asc(VBA.Mid(UserInput, I, 1)) <= 90 Or VBA.Asc(VBA.Mid(UserInput, I, 1)) >= 0 And VBA.Asc(VBA.Mid(UserInput, I, 1)) <= 9 Or VBA.Asc(VBA.Mid(UserInput, I, 1)) = 45
对于Word 2019,我可以在VBA中使用正则表达式:
Dim RegEx As New RegExp
Dim Matches As MatchCollection
RegEx.Pattern = "[\d\w]+"
Text = "HelloWorld"
Set Matches = RegEx.Execute(Text)
但是如何匹配所有Unicode字符和所有数字呢?
\p{L}在我的PHP中运行得很好,但在Word 2019的VBA中,这并不适用于我。
我想找到有字符和数字的单词。因此,在PHP中,我使用这个[\p{L}\p{N}]+。在VBA中,我可
考虑以下代码:
Sub CombineNumbersToASTring()
' force Excel to show two decimals, even when there are trailing zeros
Range("A1", "B1").NumberFormat = "0.00"
' give some values to the previously mentioned cells
Cells(1, 1).Value = 0.1
Cells(1, 2).Value = 0.2
' combine t
几天来,一直试图在excel VBA上复制粘贴列,无论发生什么,代码都不能工作。
Sub CopyRangeofCellsanotherone()
Dim x As Workbook
Dim y As Workbook
Dim LastRow As Long
Dim LastRowToCopy As Long
Set x = Workbooks.Open("C:\trabalho da DELL\source.xlsx")
Set y = Workbooks.Open("C:\trabalho da DELL\desti
我有一个代码,当用户单击按钮时,系统会比较当前日期和书面日期,然后用适当的颜色填充单元格。
问题是,如果在两天前我写了10-16-2017年,它将用红色填充背景。如果我今天检查的话,它必须把颜色变成黄色。问题是,一旦单元格被着色,它就不会改变颜色。
示例:
日期10-16-2017是写在3前,所以最初的颜色将是红色。
今天是10-16-2017年,所以当我按下按钮时,它必须变成黄色。
,这是我的代码:
Private Sub CommandButton1_Click()
Dim i As Integer
For i = Range("C5000").End(x
我想突出显示Word文档中的所有书签。当我试图显示书签时,我只能得到"I“。这段代码什么也做不了。
正如其中一位评论员所写的,我的书签长度为0。但即便如此,我如何突出显示,比方说向前两个空格?
Sub BookMarks2Bold()
Dim bm As Bookmark
Dim tx As Range
Set tx = ActiveDocument.StoryRanges(wdMainTextStory)
For Each bm In tx.Bookmarks
bm.Range.HighlightColorIndex = wdYellow
Next
结束子对象
我正在编写我的第一个VBA代码,用来将excel工作表中的两个数组与大量数据相加,但我想不出一种方法。
这就是我写的代码:
Sub sumTriangles()
Dim x As Variant, y As Variant
Dim MatchX As Long, MatchY As Long
MatchX = WorksheetFunction.Match(Sheets("Output").Range("D4").Value, Sheets("data").Range("A:A"), 0) + 1
嗨,我有下面的VBA代码,它一次又一次地失败。
Sub theathersplitmacro()
Dim SDrv As String
Dim DDrv As String
Dim Sfname As String
Dim Dfname As String
Dim wkbSrc As Workbook
Dim wkbDst As Workbook
Dim shtname(1 To 16) As Variant
Dim i As Integer
Dim Lastrow As Variant
Dim destination_file As String
'Dim regions