Tag: excel vba

Excel用户窗体 – 点击回车后将​​焦点返回到combobox

我试过这个: Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode = vbKeyReturn Then Me.ComboBox1.SetFocus Show_Information_Click End If End Sub 不幸的是,当我按下回车键时,“焦点”从ComboBox1转移到一个CommandButton,我用作表单的“后退”button。 我的ComboBox1采取用户input名称(它自动完成感激地)。 人按下input,并在其下面的一个button(可以点击代替)激活。 当button完成后,我的表单上的“返回”button现在成为“焦点”,所以如果用户再次进入,则使用“返回”button。 我想将焦点设置回ComboBox1,以便当用户点击input时,它将运行代码并将焦点返回到ComboBox1,以便他们可以键入另一个名称,如果他们愿意并再次去。 我甚至试图把Me.ComboBox1.SetFocus放在CommandButton事件序列的末尾,而“后退”button仍然被选中。 谢谢!

macros循环遍历工作簿中的所有工作表,testing单元格是否具有特定值。 如果是,则复制要粘贴的某些数据

我目前正在进行一个需要以下方面的项目: 循环遍历工作簿中的所有工作表,如果单元格A1的值等于XXYY,则select第7行ctrl down直到内容结束,然后复制 将合并的工作表中第10行开始的所有复制数据合并到一个工作表中

在Excel中,如何计算最大数量的范围呢?

我有这个数据集在excel列; 我想知道大部分数据在哪里都是阴云密布的,例如这个集合的大约100个值在2018.5到2020之间。但是这是手工工作。 什么可以是search这些价值的公式。 我尝试使用平均&标准。 偏差,但他们有一些缺陷,并不总是准确的。 而且范围必须尽可能的窄,比方说,如果我的数值总数等于150,那么超过60%-70%,即这些数值的90-105应该低于这个确定的范围。 2025 2023.75 2023 2020.15 2020.3 2018.35 2017.5 2017.95 2016 2019.45 2020 2022.4 2022.25 2018.2 2018.05 2019.3 2022 2021.45 2021.45 2019.8 2020 2019.25 2019.35 2019.85 2019.4 2018.25 2019.55 2020 2020 2020.05 2020 2020 2021 2019.8 2019.8 2020 2020.05 2019.9 2021 2019.1 2019.1 2015.5 2015.5 2018.5 2017.25 2018.85 2018.85 2018.85 2017.05 […]

Excelmacros编码错误

我已经inheritance了一个帮助票证来解决Excelmacros文档中的错误问题。 当运行下面列出的第一个代码组时,收到错误“运行时错误438:对象不支持此属性或方法”。 在进行小的语法更改后,运行下面列出的第二个代码组时,将收到错误“编译错误:下一个不适用”。 我已经尝试了一些可能的修复,但我不能动摇这些错误。 任何帮助表示赞赏。 Private Sub Worksheet_Change(ByVal target As Range) Dim TabNum As Long ' Check all automation boxes on all of the tabs when Master is selected If Range("Master") = "Master" Then For TabNum = 7 To 23 Step 1 'thisworkbook.Sheets.Count is the number of tabs in the open master SIG ThisWorkbook.Worksheets(TabNum).Select If […]

Excel – 将列复制到行

我在excel表格中有3列,如下所示 我需要在一个单独的表格下面的格式输出 我很好用VB脚本或只使用Excelfunction。 我能得到一些帮助吗?

VSTO Excel.DropDown事件

我使用C#VSTOdynamic添加ActiveSheet单元格中的Excel.DropDown。 有没有一种方法来处理更改select事件,而无需将macrosembedded工作簿? 或者我会有兴趣使用Excel的数据validation技术(cell.Validation),大概我需要使用SheetChange事件。 不确定哪一个更有效率? 我正在使用的代码是波纹pipe var currentSheet = Application.Sheets[strDestSheetName]; var inv = Application.Sheets[strSrcSheetName]; var items = inv.Range[strSrcRange]; var list_items = new List<string>(); foreach (Excel.Range cell in items) { list_items.Add(cell.Value2.ToString()); } Range xlsRange; xlsRange = currentSheet.Range[strDestCell]; Excel.DropDowns xlDropDowns; Excel.DropDown xlDropDown; xlDropDowns = ((Excel.DropDowns)(currentSheet.DropDowns(Missing.Value))); xlDropDown = xlDropDowns.Add((double)xlsRange.Left, (double)xlsRange.Top, (double)xlsRange.Width, (double)xlsRange.Height, true); //Add item into drop down list […]

Excel VBA代码不能完全工作,除非删除了某些部分

我的问题是,当我写所有的代码,其中一个将不起作用。 它不会给出错误信息,但GenerateEmail子目录中不会生成电子邮件。 但是,如果我删除了一个While Wend代码,其他工作(我一个接一个地testing)。 简而言之,如果所有的Wend代码都存在,那么其中的一个将不起作用。 我不知道发生了什么事。 任何帮助表示赞赏。 我试过find类似的情况,但没有成功。 我的代码: Sub CaseCreation() Dim subjectTitleEABS As String Dim subjectTitleCCC As String Dim subjectTitleRR As String Dim subjectTitleTERM As String Dim rowCount As String rowCount = 2 While Sheets("Extended Abs").Range("B" & CStr(rowCount)).Value <> "" If Sheets("Extended Abs").Range("A" & CStr(rowCount)).Value = "" Then subjectTitleEABS = Sheets("Extended Abs").Range("K" & CStr(rowCount)).Value […]

VBA Workbook.closefunction:不能使此工作在所需的位置

我有这个代码: Sub test() Dim wb As String Dim wbb As Workbook wb = "C:\xyz.xlsx" Set wbb = Workbooks.Open(wb) MsgBox ("testing") wbb.Close End Sub 上面的工作就好了 。 工作簿按预期结束 但是,这个代码似乎不工作。 但对我来说,它看起来与 workbooks.close函数相同 。 有人可以请告知为什么这会引发错误“运行时错误'1004': 应用程序定义的或对象定义的错误 ” Sub filesTest(folder, dex) Dim wb As String Dim wbb As Workbook Dim dat Dim dat2 Dim dat3 Dim dat4 wb = "xyz.xlsm" […]

Excel VBA中的VLookup无法正常工作

Excel文件格式 我有主数据表的属性ID是唯一的单位。 我有另一个表添加与属性相关联的产品值。 如果单位基于属性ID进行匹配,则单元格以绿色突出显示,否则显示为红色。 为了达到上述目的,我写了一些基本的代码,但似乎没有工作。 vlookup正常工作,但使用vba它只是退出。 请参阅下面的图像例如和代码。 列a和b包含属性主数据,列d包含产品属性值。 例如。 对于产品p1,值“IN”对属性“A1”有效,但“m”无效。 此外,可以有多个单位,每个属性用逗号分隔。 需要帮助来解决问题。 码: Sub UnitCheck() Dim AttrIDrange As range, AttrIDcell As range Dim attrID Dim Lookup_Range As range Dim I, J As Variant Dim UNIT As Variant Set Lookup_Range = range("A2:B4") Set AttrIDrange = range("E1:G1") For Each AttrIDcell In AttrIDrange attrID = AttrIDcell.Value For I […]

Excel 2013删除部分:/xl/drawings/vmlDrawing1.vml

之后我在Excel 2013中做这件事 strSaveName = ThisWork.Path & "\" & strExt & ".xlsx" .SaveAs strSaveName, FileFormat:=51 Excel在打开此xlsx文件时出现以下错误:“Excel在'newFile.xlsx'中发现不可读的内容。是否要恢复此工作簿的内容?如果您信任此工作簿的源,请单击”是“。 一旦我点击是,我会收到以下通知:“Excel能够通过修复或删除不可读的内容来打开文件。删除零件:/xl/drawings/vmlDrawing1.vml零件。(绘graphics状)” 也是所有的coments被删除。 如果我保存在另一种格式 strSaveName = ThisWork.Path & "\" & strExt & ".xls" .SaveAs strSaveName, FileFormat:=56 在excel 2003中,不断的改变,而是警告不支持的公式 如何解决这个问题,并保存文件为xlsx?