-
-
310Sub SendEmailWithAttachment() Dim OutlookApp As Object Dim OutlookMail As Object Dim AttachmentPath As String On Error GoTo ErrorHandler Set OutlookApp = CreateObject("Outlook.Application") With OutlookMail .To = "19609057@qq.com" .Subject = "hi" .Body = "t" .Attachments.Add "C:\Users\wangshuyuan\Desktop\load\t.txt" .Send End With Set OutlookMail = Nothing Set OutlookApp = Nothing Exit Sub ErrorHandler: Set OutlookMail = Nothing Set OutlookApp = Nothing End Sub8这段vba的问题出在哪里?代码上面的部分我是做了一个合集,因为需要把一个总表的数据,按照对应的港口名称分别打开不同的表格进行数据更新。经过测试,在原数据表中找到正确数据是可以做到的,但就是没有办法在目标数据表中找到对应的位置进行填入。这个function的问题在哪?目标表格的格式还是固定的,拼写也没有问题。求解答,有意向的留言或者私信我需要更多信息的话418发附件,附件中或回帖中说明需求。附件可以上传至自己的网盘或其他办法,然后链接发给我261319042vba 真的不能jianting 全局键盘吗? 用vba 做了一个窗体,在某种情况下隐藏了,焦点转移到其他地方,之后想用快捷键恢复 找了半天资料,好像只有用hook处理,但是写了一段代码,根本拦截不到按键? 只有一条路:用VC 写这些代码然后封装成 dll ,再用vb调用?42背景:版本为excel2019,目标操作一组超级表,鼠标已定位在超级表中单元格中。求以下需求的VBA代码:1、点击“数据”选项卡下的“自表格/区域”,进入power query界面;2、选中power query页面下的全部数据,将所有内容数据类型设置为“文本”;3、选中前18列,进行“逆透视其他列”操作;4、关闭并上载至新工作表。2891Sub OutputWithAllFontsInWord() Dim doc As Document Dim para As Paragraph Dim targetText As String Dim fontNames() As String Dim i As Long Set doc = ActiveDocument targetText = "示例文字" '设置要应用字体并输出的目标文本,可按需修改 fontNames = Application.fontNames '获取Word应用程序中的所有字体名称列表 '在文档开头添加一个段落用于输出 Set para = doc.Paragraphs.Add para.Range.Text = targetText & vbCrLf '先写入目标文本并换行 For i = LBound(fontNames) To UBound(fontNames) para.Range.Font.Name = fontNames17各位高手 想让选项乱序,用了vba 由于Application.WorksheetFunction.RandBetween 在vba 2003里不能用 所以写了函数代替 运行后报错rng.Cells.Count = intb (函数过程)编译错误 错误的参数号或无效的属性赋值 请问如何修改 Function RANDBETWEEN(ByVal inta As Integer, ByVal intb As Integer) Dim rng As Range Dim i, j As Integer i = inta rng.Cells.Count = intb RANDBETWEEN = Int((intb * Rnd) + inta) RANDBETWEEN = j End Function Sub RandomSortRange() Dim rng As Range Dim i As Integer Dim j As Integer Dim temp As Variant Set rng = Sheet2.Range("C21114各位大佬啊,没想到啊我也有这一天啊,来来来,吧里之前应该有人求过的,当时我也讨论了,但没有好的解决办法,现在轮到我自己索要啦,麻烦大佬提供点思路哈,无外乎遍历.xlsm文件,然后进行删代码操作5下面代码中,K值从0到6,即总共7行。此代码生成的7行,第3行和第2行中间隔了30磅。 是我想要的效果。反之,如果把-换成+,下面5行会向上移动30磅。 我的问题是它为什么不是+而是-呢,也就是符号为什么是相反的? Controls(i).Top = 10* (k + 1 - 3 * (k > 1))7VBA打开状态,光标选定程序某处,按F8想逐行调试代码 但此时却弹出WIn11任务栏中的“推荐”和“快速搜索” 使用VBE调试工具栏,用鼠标点“逐语句”可以逐行调试 但我想恢复按F8可以逐行调试的功能,怎么办,请教大佬了,万分感谢!95在VBA工程的ThisWorkbook对象中写入了一段关闭前执行事件: (1.工作簿和其中的工作表都有密码保护了,所以要先解密然后再修改然后重新加密;2.为了方便找出哪部分运行异常,所以用弹出信息框的方式隔开了;3.代码前面的“√”代表能被正常执行的,“×”代表无法正常执行的。) Private Sub Workbook_BeforeClose(Cancel As Boolean) √ MsgBox "A" ×ThisWorkbook.Worksheets("Sheet1").Unprotect Password:="ABC123" √ThisWorkbook.Worksheets("Sheet1").Range("A2&3用了以下VBA代码 但运行无反应: Sub FillColumnBWithUniqueRedFontCell() Dim ws As Worksheet Dim cell As Range Dim currentRow As Long Dim lastRow As Long Dim redFontColor As Long Set ws = ThisWorkbook.Sheets("sheet1") redFontColor = RGB(255, 0, 0) lastRow = ws.Cells(ws.Rows.Count, "D").End(xlUp).row For currentRow = 2 To lastRow For Each cell In ws.Range(ws.Cells(currentRow, "E"), ws.Cells(currentRow, "J")) If cell.Font.Color = redFontColor Then ws.Cells(currentRow, "B").Value = cell.Value Exit For End If Next cell Next currentRow En1VBA写代码NumberFormatLocal=“hh:mm:ss”为什么yyyy-mm-dd hh:mm:ss能识别yyyy-mm-dd_hh:mm:ss就不能了16如图,C74填写(D2:D51)中 ≥ D54数据的个数 C75填写(L2:L51) 中 ≥ D54数据的个数 C76填写(T2:T51) 中 ≥ D54数据的个数 C77填写(AB2:AB51) 中 ≥ D54数据的个数 C78填写(AJ2:AJ51) 中 ≥ D54数据的个数 C79填写(AR2:AR51) 中 ≥ D54数据的个数 然后:C85填写(E2:E51)中 ≥ E54数据的个数 C86填写(M2:M51)中 ≥ E54数据的个数 C87填写(O2:O51)中 ≥ E54数据的个数 C88填写(AC2:AC51)中 ≥ E54数据的个数 C89填写(AK2:AK51)中 ≥ E54数据的个数 C90填写(AS2:AS51)中 ≥ E54数0如何点击一个点就获得坐标呢 我尝试添加事件但是怎么都实现不了26520https://www.cmzj.net/mediaArena/home 类似上面这种网页,右键“查看页面源代码”,看不到页面实际显示的内容,盼高手给支支招!1之前用函数设置但是求和的单元格太多了,导致整个表格反应很慢。 设置检查sheet"数据"b3:b不为空值时,求和以下的列。 q=BA+BQ-AS-BI-BY+CG R=BB+BR-AT-BJ-BZ+CH S=BC+BS-AU-BK-CA+CI T=BD+BT-AV-BL-CB+CJ U=BE+BU-AW-BM-CC+CK V=BF+BV-AX-BN-CD+CL W=BG+BW-AY-BO-CE+CM X=P:W Y=,J*X11ws.Cells(currentRow, currentCol).Value = "=="语句执行失败 提示方法value作用于对象range时失败 ws.Cells(currentRow, currentCol).Value = "="语句执行成功 请大神解答一下。。4Sub宏1() 宏1 参数设置 Dim r,m,u,v m = Val(InputBox("你要生成多少行题目:(输入数字)", , 20)) u = Val(InputBox("你要生成几以内的运算题:(输入数字)", , 100)) v = Val(InputBox("只需要加减法请输入2;加减乘除都需要请输入4:(输入数字)", , 4)) Range(Cells(2, 1), Cells(m, 10)).Select Selection.ClearContents '清除选区内容 r = 2 循环体 Do 'doloop语句表示执行返回直到情况为止 Cells(r, 1) = WorksheetFunction.RandBetween(1, u) Cells(r, 3) = WorksheetFunction.RandBetween(540set xlWorksheet = xlApp.Workbooks("Tool").Sheets(1) 这段提示“阵列索引超出范围” 请问是什么原因? 确定excel工作簿已经打开且工作簿和工作表名称都没问题。3222我有一个工作簿,内有100多个sheet,如何实现一个sheet一个数组? sheet后面可能还会增加。希望将数组的名字使用sheet的名字。 有办法的朋友还请帮帮忙,谢谢4向各位大神求助提取公式,比如A1=2,23,0,1,-2,40,-10,9,-15,-6,20要从A1里提取2<25的数值到B1里也就是B1=23,9,20有没有公式可以实现19不知道怎么描述,顺序处理少量文件,其中有个变量不会丢失;但若处理多个文件,如10个,那这个变量就会丢失(空值),这是为什么啊?因为单个文件或者少量文件并不会丢失这个变量,所以无法排除5工作簿c中的数据赋给工作b上,数据都是相同大小的区域 c和b都是带扩展名的Excel表名称。 Dim b As Variant Dim c As Variant Workbooks(b).Sheets("表一").Range("B11:D15").Value = Workbooks(c).Sheets("工程总表(表一)_01").Range("B11:D15").Value 可以运行! 但是Workbooks(b).Sheets("表一").Range(Cells(11, 2), Cells(15, 4)).Value = Workbooks(c).Sheets("工程总表(表一)_01").Range(Cells(11, 2), Cells(15, 4)).Value就显示"应用程序定义或对象定义错误"无法运行了 我就