我有一个Word表单,它有一堆命令按钮、表单字段和组合框。在“ThisDocument”对象和我添加的另一个模块中,都有很多与表单相关的代码
如果我通过双击Windows中的文档来打开表单,当我启用宏时,它会打开并正常工作
但是,如果我先打开Word,然后转到“文件”>“打开”以打开表单,则会收到一条错误消息“无法退出设计模式,因为无法创建控件指令”
我在其他一些用户的计算机上也看到过这个错误,它有时涉及不同的控件,而不仅仅是CMDIRECTIONS按钮
此问题始于我们升级到Word 2003时
我有一个类ValidationChanger,它有一个方法changeNamedRangeAddress,该方法应该更改指定范围的引用地址。但是,我的代码意外地将新地址用双引号括起来
ValidationChanger的类定义如下:
'ValidationChanger
Sub changeNamedRangeAddress(bk As Workbook, rangeName As String, newAddress As String)
bk.Names(rangeName).Refer
因此,我正在开发一个程序,以获取“.txt”格式的数据并读取某些值,然后将这些值放入外部报告中,该报告的格式为公司使用的标准文档。然后复制格式化的文档并将它们保存在一个单独的工作簿中,与这两个工作簿不同,该工作簿将是一个格式化工作表的集合数据库,供以后审阅或打印
显然,我已经将这段代码简化到了问题发生的地方,但它仍然代表了我的基本想法,并引起了与较大文件相同的警报
Sub Begin()
Workbooks.Open Filename:="C:\Users\CNCLathe.MANDA\Desk
我有一个带有正常数据的excel文件。我想知道是否有一种方法可以通过VB代码使用宏来知道有多少行包含值
根据您的评论:
Sub qwerty()
Dim r As Range
Dim nLastRow As Long
ActiveSheet.UsedRange
Set r = ActiveSheet.UsedRange
nLastRow = r.Rows.Count + r.Row - 1
MsgBox nLastRow
End Sub
这个帖子
我有一个输入工作簿,我将从中复制第一行并粘贴到另一个excel工作簿(wbET)中。对于输入工作簿中的行数,我必须这样做
我有第一排的代码。所有的行我都要做。有人能帮我吗
代码:
您需要循环浏览输入工作表中的所有行。首先,您需要获取输入表中最后使用的行
' use this in your loop. It looks like you are starting on row 3 of your input sheet.
Dim LastRow as Long
LastRow = Ac
我的批处理文件:
SET username=%1
SET password=%2
net use "\\gessel\toys\name" %password% /user:shops\%username%
ECHO.%ERRORLEVEL%
:copy
Xcopy "\\gessel\toys\name\babytoys" "%appdata%\shops" /S /E
ECHO.%ERRORLEVEL%
IF ERRORLEVE
我希望将工作簿中的一个工作表复制到另一个工作表,然后更改名称。没什么大不了的
我一直收到一个类型不匹配的错误,我不知道为什么。我使用过别人的代码,他们说这些代码对我有效,但对我来说却不适用
任何想法
Private Sub cmdStockLog_Click()
week = ThisWorkbook.Sheets("Stock Sheet").Range("F1")
Dim wb As Workbook
Set wb = Workbooks.Open(ThisWorkbook.Path &
我环顾四周,找不到我需要的具体答复。所以我会问。
我有一张表(表1),数据只在a列。它看起来像这样:
我需要创建一个VBA宏,在a列中搜索包含ID、TITL和AUTH的任何单元格。
并将其移动到另一张图纸(图纸2)中的特定列。Sheet2将有3列:ID、标题和作者
问题是,在将单元格的数据复制到sheet2中的特定列的同时,它还需要删除数据的第一部分。例如:
需要将sheet1中的ID:R564838移动到sheet2中的ID列,其中不包含“ID:”。因此,只需移动R564838。
此外,“标
我已经编写了一些宏来将一堆数据格式化为相同的可接受格式,我们从中提取的程序拒绝按我们想要的方式提取数据,但理论上,在Excel中进行更改并不困难
将其设置为运行的方式是为修饰符使用单独的宏,然后使用一个“run All”宏来调用所有修饰符
目前我有:
Sub ReplaceTitleMs()
'
' Strips Mrs from Headteacher Name
'
'
'
Columns("V").Select
Cells.Replace What:="Ms ", Replacement
因此,我正在创建一个电子表格,它将查找列标题,并在列标题下的某一行中的单元格中添加一个形状。然而,当我运行代码时,列号较小(更接近原点)的形状非常接近,但是列30+中的形状有一点错误,并且稍微偏离了它们应该位于的位置。这是我的密码
Public Function Drawshape(ByVal shaperow As Integer, ByVal thisrow As Integer, shapecase As Integer)
Dim shpcol As Integer
Dim sh
我想自动格式化一个具有特定条件的电子表格。流程完成后,工作表行应自动格式化(即备用行具有相同的单元格背景颜色),标题行(通常为第1行)应具有不同的颜色和粗体字体
注意:这需要通过VBA代码完成
还要注意的是,需要对包含数据的“n”行进行格式化,将其余的保留为空
我的页面布局代码
Public Function SetPageLayout(pworksheet)
'Set the page layout of the worksheet to be landscape and format to
标签: Vba
listboxinsert-into
这是我的第一篇文章,希望能得到一些帮助。我做了大量的研究,但无法确定我错在哪里。我只想在一个多值列表框中循环,并将这些值添加到一个单独的表中
我有我认为应该可以工作的代码,但我一直在查询表达式“1b”中遇到运行时错误3075语法错误(缺少运算符)
我的情况如下:
我有一张桌子:qaTbl
我在这个表中有两个字段。interactionID和缺陷(这是多值列表框)。这两个字段都是短文本
对于提交的每个记录,我想将interactionID和缺陷(无论选择了一个缺陷还是多个缺陷)放入一个名为call
我正在尝试将数据传输/复制到excel工作表中的表中。我已经编写了下面的代码,如果没有表,只有正常的结构,它就可以工作
Sub TransferData()
Dim sht As Worksheet
Set sht = ThisWorkbook.Worksheets("OverRides")
lastrow = sht.Cells.Find("*", searchorder:=xlByRows, searchdirection:=xlPrevious).Row
Range("B5:B" &a
到目前为止,我已获得VBA代码:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value > 0 Then Target.Resize(, Application.Min(400, 2 * Target.Value)).Select
End Sub
这就是我想要的;选择一个基于数字*2的范围,我在工作簿中任意位置写入的单元格的最大限制为400个。我需要帮助的问题是,如果我键入文本或删除某些内容,会出现运
我目前在一些VisualBasic方面有问题。我已使用以下代码成功地将形状添加到当前Powerpoint幻灯片中:
dim pres as Microsoft.Office.Interop.Powerpoint
dim slide as pres.ActivePresentation.Slides(1)
With slide.Shapes.AddShape(Type:=Microsoft.Office.Core.MsoAutoShapeType.msoShapeActionButtonCusto
'请帮助我将列标题放入所有工作表中。谢谢
'SAMPLE CODE FROM THIS SITE
'doesn't add column headers to 3+worksheets
Sub SplitData()
Dim MyFiles As String
MyFiles = Dir("C:\Users\jkirby\Desktop\extracted data\*.xlsb")
Do While MyFiles <> ""
Workboo
我对VisualBasic非常陌生,我有一张excel表格,格式如下所示,如下图所示
我需要写一个VB代码来创建一个电子表格,格式如下图所示。应为excel工作表中具有行和列值“1”的每个国家/地区打印型号名称。换句话说,只需要打印电子表格中值为“1”的型号名称和国家名称。如果单元格为空或值为“0”,则无需打印该特定国家/地区的型号名称
我该怎么做呢?我一直在看视频这样做,但没有用
谁能告诉我怎么做?任何形式的帮助都将不胜感激。提前谢谢
编辑:使用以下代码后的当前输出在此屏幕截图中
这应该工
但是,尝试从另一个线程使用vba时,会在“foreach olMail In flInbox.Items”行中获取不匹配的类型。知道我做错了什么吗?我引用了outlook和excel
Dim olMail As MailItem
Dim aOutput() As Variant
Dim lCnt As Long
Dim xlApp As Excel.Application
Dim xlSh As Excel.Worksheet
Dim flInbox As Folder
Set flInbox
执行以下代码时,我得到运行时错误13
Dim sh, shmem As Worksheet
Dim rw As Range
Set shmem = Sheets("SHEET1")
Set sh = Sheets("SHEET2")
For Each rw In sh.Rows
If sh.Cells(rw.Row, 1).Value = "" And sh.Cells(rw.Row, 2).Value = "" Then
Exit For
End If
今天我遇到了一个奇怪的Excel 2013 VBA行为,我觉得发布这个问题的解决方案可能会在将来帮助其他人。
以下命令在我的计算机和大多数其他计算机上运行良好,但一个用户会收到错误消息。我正在使用Windows7
工作簿(“Book1”)。激活
我发现另一个用户显示了“已知文件类型的扩展名”。默认情况下,Windows希望隐藏这些。为了让代码在所有机器上正常工作,我必须在代码中包含文件扩展名,如下所示。创建新工作簿但尚未保存时,此命令中不需要包含文件扩展名,因为尚未确定文件扩展名。
只是猜测
如何编写一个脚本,将其绑定到excel文件中的一个按钮,以扫描工作表中的一列(红色)并过滤每个值,然后检查另一列(蓝色),然后根据这些值对其进行过滤,然后根据该标准对其他列(绿色)求和?
这个数据文件将有几千行。没有可供检查的可能交易描述的主列表。预期输出将使非计算字段保持不变。交易代码、零售商编号、交易日期将等于今天,文档编号不重要,产品代码不重要,Cust product code是我们筛选的第二列,如果第一列和第二列筛选器匹配,则需要将所有剩余列添加在一起。表示“符号”的字段显示为空白或
这可能是一个非常基本的问题,听起来像是一个相当愚蠢的问题。但我对此感到困惑。所以,当我尝试在一个双变量中执行1000*1000时,我得到了一个溢出错误。至于我继续乘以变量本身,它工作得很好。谁能解释一下,为什么
Sub test()
Dim x As Double
x = 1000 * 1000 ' ~~>> Give OverFlow Error. WHY ?
x=1000
x = x * x * x * x ' ~~>> Works Fine
MsgBox x
在Word中,我有一个文档,其中有多个充满数据的表。隐藏在这些单元格内(看不见,但数据在那里)是我想给单元格着色的颜色的十六进制代码。我选择十六进制值只是因为它相对较短,而且是一个独特的文本位,不会与单元格中的其余文本混淆
我在网上找到了一些需要修改的代码,但似乎无法使其正常工作。它没有给出任何错误,只是什么都没有发生。我觉得问题在于搜索表格中的文本值,但我花了几个小时在这上面,我想我现在把自己弄糊涂了
Sub ColourIn()
Dim oTbl As Table
Dim oCel As
这是vba代码的一部分。我使用TRIM()删除了文本开头和结尾的尾随空格,但如何删除某些符号前后的空格,并确保符号使用正确
苹果:;是红色=>苹果:;它是红色的
橙色:;是甜的=>橙色:;很甜
芒果::闻起来很香=>芒果:;好闻
因此,基本上,如果在“:”之前和“:”之后和“;”之前有空格,则必须将其删除。在第三个示例中,符号“:”作为第二个符号使用了两次,而不是“;”。因此,第二次必须将其替换为“;”。选择所有单元格并运行以下操作:
Sub foo4()
Selection.Replace "
我使用Excel VBA发送电子邮件。我想记录消息是否已发送
我从中获取了一些代码
我创建了如上所述的类,并添加了一些额外的位以查看它是否工作。
它会初始化,但随后不会发生其他任何事情。邮件发送后,该类在后台以某种方式保持打开状态,因此我必须在VBE中停止它
以下是呼叫代码:
Sub SendProc2(添加为字符串)
Set-OutApp=CreateObject(“Outlook.Application”)
Set-OutMail=OutApp.CreateItem(0)
出错时继续下一步
我有两张工作表:
1-对于月度数据,我只收集1个月(1…12)的数据
第2项-按月份划分的年度数据(每月12个表)
我需要宏,将复制数据从每月表到每年表根据月份。
例如,如果是9月,它将在年度表中复制到9月表。
如每年10月至10月表格中的表格等
如何使用宏(想要创建按钮:单击并复制)实现它。宏需要包含一个包含12个选项的案例陈述(每个月一个)。在此案例陈述之前,您需要定义一个表示月份的变量(例如,使用当前日期)
CASE构造中的每个选项都将从指定的表复制到指定的表中(这里我假设monthl
我正在尝试自动生成作为PowerPoint演示文稿的报告。当前无法正常工作的功能是PowerPoint的自动文本自动调整功能,当文本溢出形状的边界时会发生这种功能
如果形状设置为文本必须适合形状(这是默认设置),则在添加文本时,形状中所有文本的字体大小将自动减小。这种行为显然只有在应用程序可见时才会激活。这可能是因为实际呈现文本的行为会通知PowerPoint发生溢出,然后触发字体缩小
当我在应用程序窗口隐藏的情况下进行演示时,不会发生这种自动装配。如果我打开演示文稿并以任何方式修改文本框,字体
我使用上面的代码是为了用一个.mpu文件(实际上只是一个文本文件)提取ZIP,然后打开并从中读取一些数据
然而,今天我不得不在zip中手动读取MPU中的一些数据,并在记事本中打开它。现在,当我进入.zip时,文件类型不再显示在文件名中,代码也不会识别文件中有任何MPU
有没有一种方法可以反转它,这样Windows就不会从文件名中删除.mpu,或者我可以用另一种方法查看文件类型 我通过更改文件资源管理器设置以不隐藏已知文件路径来修复它
Sub Unzip2()
Dim FSO As Object
我已经阅读了几个小时的相关文章,但似乎找不到解决办法。非常感谢您的帮助,谢谢
我试图找到一个范围内的最大值,然后找到它所在的行。
这段代码在我的前600多行代码中运行良好,然后崩溃,并给出运行时错误91。它似乎总是在同一地点崩溃,与我所做的无关
Dim rSearchRange As Range
Dim dMaxToFind As Double
Dim rSolutionrange As Range
Set rSearchRange = Sheets("MySheet").Range(Cell
我是macro的新手,需要在1000+行工作表上完成以下内容:
我有一张工作表,我需要每隔一行复制一次,然后修改新行
要复制附加行,请运行此宏:
Sub CopyRows()
Dim LR As Long
Dim i As Long
LR = Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
For i = LR To 2 Step -1
我意识到由于复制了宏的一部分,所以不清楚。以下宏以新WB开头,给出了一个错误424所需的对象。在手动模式下检查ProjectWB和SourceWB是否正确加载
Sub Copy_Form_to_new_WB()
ProjectWB = ActiveWorkbook.Name
SourceWB = "Interpretation Analysis 2.0.xlsm"
SourceWB.VBProject.VBComponents("Input_Analysis_Form").Ex
我正在处理一个Excel VBA宏,该宏在工作表中进行迭代,并将动态公式放在某些单元格中。公式保持不变,但需要引用经常更改的外部工作簿
在sub的开头,我请求用户输入,用户在其中选择文件。我打开那个文件,然后开始使用它。这很好,但我不知道如何在公式中正确引用该工作簿
我的代码,删减到了有问题的行:
MsgBox ("Select the PO items workbook sheet with key in column A.")
POI_inputfile = Application.GetO
我是新来的,请原谅我的无知。。
我想格式化书签(富文本内容控件)
我有下面的代码来实现这一点
ActiveDocument.Bookmarks("ALTERNATIVE").Range.Font.TextColor = back
more formatting to text
我的问题是我如何才能有效地做到这一点?是否有一种方法可以选择多个书签或选择所有富文本内容控件,以便在同一代码中对所有书签进行格式化?也许可以这样做
Dim Bmk As Bookmark
For Each Bmk In
我正在vba中创建透视表
我几乎成功地创造了它。下面是我的代码
Sub Pivot()
Dim ws As Worksheet
Dim pc As PivotCache
Dim pt As pivottable
Set ws = Sheets("Cat_Pivot")
Set pc = ActiveWorkbook.PivotCaches.Create(xlDatabase, "Preparation Sheet!R1C7:R1048576C8")
Set pt = pc.CreateP
我正在使用Outlook脚本转发带有特定模板的电子邮件。我在添加一个logo时遇到了问题,发现它应该是这样的
Public Sub FW(olItem As Outlook.MailItem)
Dim olForward As Outlook.MailItem
Set olForward = olItem.Forward
If InStr(olItem.Subject, "AW:") Or InStr(olItem.Subject, "WG:") Or InStr(olItem.Subjec
全部,
我有一个轴,它的列宽不同,因此我试图计算轴中的列数,我有下面的代码,其中突出显示了行中的错误
Dim pt As PivotTable
Set pt = ActiveSheet.PivotTables(1)
pt.ColumnRange.Count **ERROR**
请有人建议如何最好地计算透视表中的COL 尝试使用pt.TableRange2.columns.Count获取列数
代码
Dim pt As PivotTable
Dim NumofCols As Long
Set p
我是VBA新手,需要从数据库中获取一些行。
问题是,第一次选择日期的格式是dd.mm.yyyy,但一段时间后,日期显示为整数,如42814或类似的格式
这里有两张图片,以便更好地理解
这是密码
Application.CutCopyMode = False
With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
"ODBC;DSN=OpsApps;UID=Alligatoah;Trusted_Connect
嗨,我不确定这是否可行。
我试图在我的userform中获取一个输入框的值,并在它被聚焦或单击期间在MsgBox中显示它
有办法做到这一点吗
假设我有一个值为Apple的Textbox1,当我单击该Textbox1时
MsgBox将显示my TextBox1的值,即Apple
注意:我有很多TextBox,所以我不仅仅指TextBox1
谢谢你的帮助 您可以在输入文本框时使用TextBox1\u Enter事件,也可以在单击文本框触发消息框时使用TextBox1\u MouseUp事件,您必须为
我得到了一份工作
参数数目错误或属性分配集合无效
错误已经很长时间了,但无法找出错误所在。我在该类中有一个类和一个集合,还有一个子集合,用于向该集合添加值
Private sumLosses As Collection
Private Sub Class_Initialize()
Set sumLosses = New Collection
End Sub
Public Property Get getSumLosses()
getSumLosses = sumLosses
我有两个列表框,如图所示。因此,当列表框2最终确定并单击“确定”时,列表框2中的数据应添加到A2至down范围内。使用.AddItem
.
我试着这样做:
Option Explicit
Private Sub BTN_moveAllLeft_Click()
Dim iCtr As Long
For iCtr = 0 To Me.ListBox2.ListCount - 1
Me.ListBox1.AddItem Me.ListBox2.List(iCtr
已更新
我需要在数据透视表的“header”行和“grandtotal”行之间对数据透视表中的行进行行计数,然后将计数找到的值复制到汇总表中
标题行:
最后一行:
因此,我非常需要从透视表的第4行-第133行进行计数(在本例中,总行数为130),并将该值粘贴到汇总表的单元格B23
当前数据透视表布局:
我需要将计数集成到我已有的代码中,如下所示:
Option Explicit
Sub FilterPivotTable()
Dim rLastCell As Range
Dim PvtT
我试图让VBA执行VLOOKUP,但是,VLOOKUP的表在另一个工作簿中
当我在主工作簿上记录宏并从对话框生成VLOOKUP时,它就工作了。我也可以通过拖动活动单元格来填充其他行和列。当我停止录制宏时,VBA控制台中的结果如下所示
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC3,'[sales 2009-2018.xlsx]sales 31122009'!R1C1:R546753C21,R1C,0)"
Selection.AutoFil
首先,在安装Office 2016之前,我的代码运行良好。现在,只要我尝试使用GETObject(在我的Excel中),就会出现错误“ActiveX组件无法创建对象”。我已经检查了将VBA代码移植到2016的“adjustemts to make”,并找到了
现在,我的代码片段:
'*************NEW_Start
Dim intSection As Integer
Dim intTries As Integer
On Error GoTo ErrorHandler
' Enabl
我有一个VBA代码,它在大for循环之后,在“msgbox”h之前结束。msgbox将检查它是否继续。代码在循环中运行,但仅此而已。有人能帮我理解为什么吗
Sub countPT()
'Select file
Application.ScreenUpdating = False
Dim i As Integer, lastRow As Integer, tellerPoE(13) As Integer,
telleruPoE(13) As Integer, SwitchInd
我正在做一个新的项目为诊所预订和在这个项目。我需要一个按钮来点击创建一个新的工作表,新的日期比第一张工作表的日期多一天。我在网上找到了一个代码,它用我的模板创建了一个新的工作表,但是它创建了今天日期的工作表,但是我需要的是创建一个比原始工作表多一天的工作表。有人能帮忙吗
Sub Insert_Sheet_Template()
Dim sh As Worksheet
Dim shName As String
'name of the sheet template
我使用ms Access query来计算使用query按诊所名称分组的患者的中位年龄。
因为Access没有内置的中值函数。我必须使用VBA创建它,
我尝试了许多现成的网络功能。。但没有一个能正常工作。对周围的工作代码有什么建议吗?你能帮我拿一下中位数吗!提前感谢您。这是一个很好的功能,也有很好的评论:
公共职能中心_
ByVal strField作为字符串,ByVal strDomain作为字符串_
可选的ByVal strCriteria作为字符串作为变量
“目的:
'来计算中值
'用于表
每天我都会收到数百封电子邮件,其中附有需要打印的发票的pdf附件
目前,我手工打印出来,每天要花上几个小时
如何使用Outlook vba自动打印电子邮件中的附件,然后删除该电子邮件 将Microsoft脚本运行时添加到引用
创建新规则,然后单击“在我收到的邮件上应用规则”/“有附件的邮件上应用规则”/“运行脚本”
看看这个答案:。这个问题与你的要求无关。答案中的宏将收件箱中每封电子邮件的选定属性输出到Excel工作簿,以帮助OP了解这些属性的性质。它显示了如何读取收件箱以及如何访问任何附件的名
我正在尝试将一些进入我们共享收件箱(ABC公司)的电子邮件移动到主文件夹(每日信息)中创建的子文件夹(a&D)。我只在web上找到了一个宏,它可以将电子邮件从共享收件箱移动到主文件夹,但不会移动到子文件夹。这是我找到的代码
Dim NS As NameSpace
Dim sharedInbox As folder
Dim sharedDestinationFolder As folder
Dim sharedItems As Selection
Dim i As Long
我试图使用if语句检查空白,如果有空白字段,则返回msgbox。如果没有空白字段,它将运行另一个代码块。但是,即使您填写了所有字段,msgbox也始终会返回,并且下一个代码块不会运行。我对VBA非常陌生,并且用gneneral编写代码,所以任何建议都会很有帮助
有关守则:
'Check required fields
If IsEmpty(C3) Then
MsgBox ("Fill out all required fields")
ElseIf IsEmpty
突然,我得到了这个信息
我最近不得不做一次系统恢复,一切恢复得和我预期的差不多,当然有些调整,但现在我从微软Outlook收到了一条奇怪的消息,这是我以前从未见过的。在这里发布之前,我在谷歌上搜索了这个问题,并提出了这个潜在的解决方案,但没有成功
文件>选项>信任中心>信任中心设置>宏设置>启用所有宏
我仍然看到相同的错误消息…“此项目中的宏已禁用”
我怎样才能让这个代码再次工作?我不认为这是代码问题,我认为这是权限问题。在Outlook的信任中心进行更改后,您需要重新启动主机应用程序以使更改
1 2 3 4 5 6 ...
下一页 最后一页 共 1158 页