我有多个Excel工作表,其中日期在B列中。我使用以下VBA代码块打开屏幕上显示今天日期的工作表。
Private Sub Worksheet_Activate()
Dim d As Date, i As Long
d = Date
ActiveWindow.ScrollRow = 1
For i = 16 To Cells(Rows.Count, "B").End(xlUp).Row
If Cells(i, "B").Value = d Then
Cells(i, "B").Select
用于更改指定工作表中的特定名称的代码存在一些问题。当我在测试阶段运行它时,它工作得很好。但当我真的想使用它时,出于某种原因,它在工作簿中的所有工作表中都更改了名称。代码有什么问题? Dim fndList As Variant
Dim rplcList As Variant
Dim x As Long
fndList = Array("Travel Total", "Utilities Total", "BFS_Total", "CPS_Total", "DMRT_Total", "Insurance
我正在使用一个VBA脚本来查找/替换。现在,当我运行VBA脚本时,它适用于工作簿中所有打开的工作表。我希望VBA脚本只在活动表中应用,而不碰其他的。
下面是我当前的宏代码:
Sub ReplaceCC()
'
' ReplaceCC Macro
' Add CC to Distributor, Reseller, Government and Retail.
'
'
Range("A1").Select
Cells.Replace What:="Distributor", Replacement:="Distri
我是新来的,所以请原谅我,如果我没有正确地张贴这个。
我有一个Excel文件,其中包含各种工作表,其中有些被命名为V1,V2,.可能达到最大的V15。
我在“工作表名”单元格B2:C16中有一张表
列B包含当前工作表名V1-V15。
列C包含新的工作表名称/标签。
您能提供一些VBA代码来将当前名为V1的工作表重命名为新值吗?
我在从列表中命名工作表的基础上发现了很多东西,但没有使用vlookup样式。
Sub RenSheets()
Dim i As Integer
For i = 2 To Worksheets.Count
Sheets(i).Name = Sheets
我希望在工作表中设置一个公式或VBA脚本(可能更需要一个VBA脚本),该脚本将检查一行中的日期并将其复制到特定的单元格中,然后向下移动到下一行。
示例:
Search row K8 - ZZ8 for a date
Copy the first date found into cell I8
Search row K9 - ZZ9 for a date
Copy the first date found into cell I9
Repeat until row 938, inclusive.
如果没有大量的工作,这是可能的吗?我怎么做呢?我必须承认,我不知道VBA或许多使用excel的事
我正在使用Java代码+ Apache库生成一个Excel表。在一些单元格中,我插入了对另一个工作表的引用,它将不能工作,并显示'#REF‘-这很好。这里的意图是,一旦生成的工作表移动到要在其中使用的实际工作簿,这些单元格将正确地更新和显示。
移动工作表时,单元格不会更新。我发现我必须更新链接源。
我收集了一些代码,这些代码将捕获所有链接,迭代它们,并将它们的源代码更新到当前打开的工作簿中。
Dim wbName As String
Dim wbDir As String
Dim i As Integer
Dim wbLinks As Variant
我在一个名为“A1”的工作表上有一个单元格数据,它查找输入,当接收到输入时,查找与之匹配的工作表名称。如果找到匹配项,它将打开该工作表。在打开第二个工作表之后,我试图清除在A1中输入的" data“值,但是我得到了一个运行时错误,似乎仍然在寻找用于打开第二个工作表的数据。下面是"Data“表单的代码:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Range("A1"), Target) Is Nothing Then Exit Sub
Sheets(Target.Value).
我有8个工作簿,都有一张工作表,我正在尝试使用VBA将它们导入到一个主工作簿中。这是我使用的代码,这是我第一次使用VBA。
Sub ImportStats()
Dim WbDest As Workbook
Dim wbSource As Workbook
Dim wsSource As Worksheet
Dim myPath As String
Dim strFileName As String
myPath = ThisWorkbook.path & "\stats\"
Set weDest = ThisW
我是一个新手在VBA,我将感谢任何帮助。
我在使用VBA代码的excel工作簿中有以下按钮
Sub New_sheet()
Dim x As Integer
x = InputBox("insert number of new sheets...")
For numtimes = 1 To x
'Loop by using x as the index number to make x number copies.
'Replace "Sheet1" with the name of the sheet to be co
我已经设置了一个VBA宏,它在给定Excel文件的每个电子表格中连续运行VBA操作。考虑到文件中有许多工作表,这会导致服务器偶尔中断,所以我不得不每隔一段时间重新启动请求。
因此,问题来了:我希望以VBA宏开始在当前选定的工作表/选项卡上运行的方式修改下面的代码元素。然后,它将连续覆盖活动工作表右侧的所有剩余工作表/选项卡,但不包括已填充的左侧工作表/选项卡。
下面的代码使用文件的第一个工作表/选项卡重新启动宏的每一次运行,这是不必要的。对代码有什么聪明的调整吗?
Dim xsheet As Worksheet
For Each xsheet In ThisWorkbook.Works
我正在尝试编写一个宏,它将告诉我术语"Rep 1“"Rep 2”在工作表中的什么位置
我是VBA的新手,正在尝试在实习期间写这篇文章。我尝试使用get函数,但它不起作用。我找到了Instr函数,并对如何在我的代码中实现它感到好奇。
Sub Value()
Dim rCell As Range
Dim Char As Integer
For Each rCell In Selection
CharCount = Len(rCell)
Char = InStr(1, rCell, "(")
rCell.Characte
每当我点击一些我不想要的东西时,我都会遇到Worksheet_SelectionChange(ByVal Target As Range)触发的问题,因为这意味着每当我在实际的工作表中单击时,我都要等待。我将代码更改为Worksheet_Open,但这意味着每当我想要运行代码时,都必须单击run按钮。
因此,当我想运行当前工作表的VBA代码时(而不是在VBA编辑器中),我正在寻找一种只运行当前工作表的方法。理想情况下,我可以使用Application.OnKey将其分配给热键,但我不知道如何引用工作表的代码本身。我找到的唯一解决方案是一个外部宏,这是没有帮助的,因为我只想使用工作表中已经存在的
我有一个有效的Excel VBA代码,可以替换每个工作表中的超链接文本。检查下面的代码
' Only change Hyperlinks in the active sheet
Sub FixHyperlinks()
Dim wks As Worksheet
Dim hl As Hyperlink
Dim sOld As String
Dim sNew As String
Set wks = ActiveSheet
sOld = "%5C"
sNew = "/"
For Each hl
我正在尝试使用vba if语句来检查工作表1上的单元格H22是否与工作表2上的列i中的单元格匹配。
有人能告诉我哪里出问题了吗?谢谢
If Range("H22").Value Like Worksheets("Sheet 2").Range("I1").Column Then
MsgBox "Match"
Else
MsgBox "No Match Found"
End If
它一直告诉我没有找到匹配项,所以我猜它在表2的列i中找不到匹配的单元格值
我正在使用excel工作簿进行编程生成。创建工作簿后,很少有工作表具有所需的数据,并且只有少数工作表是空白的,只有默认模板。 我需要删除所有具有默认模板的工作表(意味着没有数据)。我可以检查特定的单元格来识别这一点,但是需要知道如何检查所有工作表,然后逐个删除工作表。 我有这段代码: Sub TestCellA1()
'Test if the value is cell D22 is blank/empty
If IsEmpty(Range("D22").Value) = True Then
MsgBox "Cell A1 is empty
我对VBA非常陌生,正在编写一段代码来查找和替换word文档中的单词。代码来了。
Sub callback(control As IRibbonControl)
stringReplaced = stringReplaced + "string to be searched"
For Each myStoryRange In ActiveDocument.StoryRanges
With myStoryRange.Find
ActiveDocument.TrackRevisions = True
.Text = "wATer
因此,我正在尝试编辑除一个工作表之外的所有工作表上的范围。到目前为止,我想出了这个
Sub Test2()
Dim WS As Worksheet
For Each WS In ActiveWorkbook.Worksheets
If WS.Name <> "Summary" Then
Range(Cells(1, 3), Cells(1, 3)) = "test"
MsgBox WS.Name
End If
Next WS
End Sub
我的代码有一个问题,那就是所有东西都工作得很好,只有一行在工作表存在的情况下仍然会出现自动化错误。我的代码应该删除基于某个名称列的工作表,尽管对其进行了编辑,但仍然出现错误。如果有人能帮我的话我会很感激的,谢谢!
Sub DeleteSelectedSheets()
Const lngNameCol = 8 ' names in column (H)
' lngRow = 5 ' data start in row 5
Dim i As Long
Dim lastrow As Long
Dim row_num As Long
Dim wsh_to_delete A
我正在尝试搜索[Panels] like "*,*"
在工作表中,不幸的是,它检索的不是该字符串,而是类似于:
[Panels] like "*blah,*"
[Panels] like "*blah,123123*"
我需要它完全是[Panels] like "*,*"
我想也许我会在VBA中完成这项工作,而不是手动完成?如果不能手动执行此操作,我该如何进行搜索并替换其他方法?
我有这个VBA代码,搜索表名,代码可以工作。
如何将其更改为只搜索部分名称?全名狗,部分名字做*,类似这样的.
Dim xName As String
Dim xFound As Boolean
xName = InputBox("הכנס/י שם ספק לחיפוש בקובץ", "Sheet search")
If xName = "" Then Exit Sub
On Error Resume Next
ActiveWorkbook.Sheets(xName).Select
xFound = (Err = 0)
On Error