Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba VBScript未将字符串值粘贴到Excel中的正确行_Vba_Excel_Vbscript_Qlikview - Fatal编程技术网

Vba VBScript未将字符串值粘贴到Excel中的正确行

Vba VBScript未将字符串值粘贴到Excel中的正确行,vba,excel,vbscript,qlikview,Vba,Excel,Vbscript,Qlikview,你好 我需要通过QlikView的VBScript功能设置的宏的帮助。我从Stefan Walther的优秀博客获得了原始代码 问题陈述 根据需要生成的报告类型,扩展代码循环Stefan的代码,然后循环遍历姓名列表,并根据与此人相关的数据生成报告。第一个人的报告工作正常,但我遇到了第二个和后续报告的问题,即字符串值被粘贴到多行,即使只指定了一个特定的单元格,但仅针对某些字符串 我试过的 1我已尝试从Range.Value删除对Range.Value2和更高版本Cell.Value的使用。 2在粘

你好

我需要通过QlikView的VBScript功能设置的宏的帮助。我从Stefan Walther的优秀博客获得了原始代码

问题陈述 根据需要生成的报告类型,扩展代码循环Stefan的代码,然后循环遍历姓名列表,并根据与此人相关的数据生成报告。第一个人的报告工作正常,但我遇到了第二个和后续报告的问题,即字符串值被粘贴到多行,即使只指定了一个特定的单元格,但仅针对某些字符串

我试过的 1我已尝试从Range.Value删除对Range.Value2和更高版本Cell.Value的使用。 2在粘贴对象和处理警告消息时,Stefan已具备以下功能来处理屏幕刷新率的计时问题:

我带来了

objExcelApp.ScreenUpdate=False

只是想看看它是否有影响…但我会的

Think Visible=False已处理此问题

我也带来了

ActiveDocument.GetApplication.WaitForIdle ActiveDocument.GetApplication.SLEEP 3000

在脚本中的不同点尝试避免复制的内容量出现计时问题,同时考虑处理器可能太快或太慢之类的问题

4,最后,我选择了添加 objExcelApp.CutCopyMode=False,希望这只是一个导致粘贴延迟的完整剪贴板问题

结论 我不太确定如何附加脚本,但很乐意提供代码

修正案 不确定是否将所有脚本作为文本文件附加,但以下是导出文本元素然后格式化工作簿的代码段:

私有子Excel\u PopulatedVisserCommTextElementSobjexCeldoc、SadverserName、SadverseRidNum、SadverseReMail、sYear、sMonth、sMonthYear sWorkbookName=sadverseridnum&&&sYear.GetContent.String&&sMonth.GetContent.String&&sadversername Set summarySH=objExcelDoc.SheetsSummary '转换粘贴的对象以删除空行和空列 summarySH.ColumnsV:V.删除xlToLeft 汇总行37:37。删除xlUp summarySH.行71:71.Delete xlUp '替换-用于计算的零 summarySH.RangeD9:V71.Replace-,0,xlPart,xlByRows,False,False,False'What,Replacement,LookAt,SearchOrder,MatchCase,SearchFormat,ReplaceFormat '资产表的计算表总计 summarySH.RangeV9:V37.FormulaR1C1==SUMRC[-18]:RC[-1] 汇总范围37:U37.FormulaR1C1==SUMR[-28]C:R[-1]C '共同使用表的计算表总计 summarySH.RangeV43:V71.FormulaR1C1==SUMRC[-18]:RC[-1] summarySH.RangeD71:U71.FormulaR1C1==SUMR[-28]C:R[-1]C '添加文本元素 summarySH.Cells2,3.Value=财富解决方案 summarySH.Cells3,3.Value=月度佣金报告:月末&sMonthYear.GetContent.String summarySH.Cells7,2.Value=管理下的资产 汇总单元格2,19.Value=扣除增值税后的佣金 汇总单元格3,19.0=增值税@14% 汇总单元格4,19.Value=到期金额 summarySH.Cells2,22.Value=summarySH.Cells71,22.Value summarySH.Cells3,22.Value=summarySH.Cells71,22.Value*0.14 summarySH.Cells4,22.Value==SumV2:V3 汇总单元格41,2.Value=佣金 '格式 summarySH.RangeV2:V4.Style=逗号 summarySH.RangeD9:V37.Style=逗号 summarySH.RangeD43:V71.Style=逗号 “电子邮件超链接 用summarySH的顾问邮件 .Hyperlinks.Add.Cells4,4,mailto:&sAdviserEmail '.Hyperlinks.Add.RangeD4,mailto:&sAdviserEmail .Hyperlinks1.EmailSubject=每月解决方案佣金:&sMonthYear.GetContent.String .Hyperlinks1.TextToDisplay=sAdviserName 以 summarySH.Cells75,2.Value=查询 set rng=summarySH.Cells77,2的佣金支付电子邮件 带着summarySH .Hyperlinks.Add.RangeB77:H77,邮寄地址:x@company.co.za .Hyperlinks2.EmailSubject=每月支付&sadverserName&on&sMonthYear.GetContent.String的解决方案佣金 .Hyperlinks2.TextToDisplay=有关此佣金支付的查询,请发送电子邮件X或拨打电话000 0000 以 使用rng.Font .ColorIndex=0 .Underline=xlUnderlineStyleNone 以 带有rng.字符61,5.Font .Underline=xlUnderlineStyleSingle .Color=RGB59181245 以 set rng=summarySH.RangeB79的佣金计算电子邮件 带着summarySH .Hyperlinks.Add.RangeB79:H79,邮寄地址:y@company.co.za .Hyperlinks3.EmailSubject=每月解决方案佣金&sAdviserName&on&sMonthYear.GetContent.String的计算 .Hyperlinks3.TextToDisplay=有关此佣金计算的查询,请发送电子邮件至Y或致电000 0000 以 使用rng.Font .ColorIndex=0 .联合国 derline=XLINDERSTYLENONE 以 带有rng.字符65,5.Font .Underline=xlUnderlineStyleSingle .Color=RGB59181245 以 '更改列宽和行高 summarySH.ColumnsA.ColumnWidth=4.57 汇总sh.ColumnsB.ColumnWidth=34.00 summarySH.ColumnsC.ColumnWidth=0.08 summarySH.ColumnsD:U.ColumnWidth=13.28 summarySH.ColumnsV.ColumnWidth=16.00 summarySH.ColumnsW.ColumnWidth=4.57 汇总行1:1.RowHeight=33.00 总行7:7。行高=23.25 汇总行39:39.RowHeight=23.25 总行数76:76.RowHeight=5.25 总行数78:78.RowHeight=5.25 “路线 summarySH.Range2:V4.HorizontalAlignment=xlRight 带summarySH.范围b7:U7 .HorizontalAlignment=xlCenter .垂直对齐=xlCenter 合并 以 具有summarySH.范围41:U41 .HorizontalAlignment=xlCenter .垂直对齐=xlCenter 合并 以 '隐藏未使用的列和行,然后用白色填充 summarySH.ColumnsX:XFD.EntireColumn.Hidden=True summarySH.Rows83:1048576.EntireRow.Hidden=True summarySH.RangeA1:W82.Interior.ColorIndex=2'white “大胆的 summarySH.RangeC2:C3,R2:U4,B7,B41,B75.Font.Bold=True “台词 带summarySH.RangeB7:V7.bordersxBottom .LineStyle=xlContinuous .ColorIndex=1 .Weight=xlThin 以 带summarySH.RangeB41:V41.BordersxlEdgeBottom .LineStyle=xlContinuous .ColorIndex=1 .Weight=xlThin 以 "调焦", 'summarySH.RangeA1.Select '将筛选器添加到提供商的合并工作表 objExcelDoc.Sheets整合。范围A1:T1.AutoFilter "调焦", 'objExcelDoc.SheetsConsolidated.RangeA1.Select
End Sub最终对我有用的是,在生成每个报告后关闭Excel工作簿,然后打开应用程序,然后为下一个人导出和格式化工作簿,保存并关闭


打开工作簿一次,导出、格式化、保存和关闭工作簿,然后在应用程序打开时循环到下一个报表,似乎会导致跨多行或不正确行导出元素的奇怪现象

您能否发布脚本,特别是在多行问题中复制和粘贴字符串?您好,我已经添加了发生问题的子程序,这有帮助吗?我能做的任何其他事情都可以帮助你吗?
    Set objExcelApp = CreateObject("Excel.Application")
      objExcelApp.Visible = False           'suppresses the display of the Excel workbook
      objExcelApp.DisplayAlerts = False 'suppresses warning popups