Tag: macros

如何从多个查找值中返回多个项目

我正在从2010年的Excelmacros工作。 我有一个名为“数据”的第一个表,有他们的属性的责任规则。 <Rule name Source label Criteria etc… until column V RGC-EC-01 AU-DU AUDIT = RGC-EC-01 DU-FICT FICT R RGC-EC-01 NNE-ECC CONTRACT E RGC-EC-02 DU-FICT FICT > RGC-EC-02 LO-DT DIT <> etc… 第二张纸被命名为“结果”。 此时除标题外(与数据表相同)没有数据。 这张表的目的是根据我正在查找的规则名称来复制表单DATA中的所有数据。 规则名称出现在列W(OUTCOME表),有几个取决于和我在找什么(另一个电子表格不担心)。 我想报告从colum W到OUTCOME表的匹配数据。 因此,在一个命令中,如何从多个查找值(多个规则(Range cell))复制多行(一个规则具有多行)。 防爆 W2 = RGC-EC-01 W3 = RGC-EC-02 我想检索上面列出的所有值,等等。 我已经做了一个数组公式,但它的重点是一个值(在这个例子中的单元格W2) =IFERROR(INDEX(DATA!A$2:A$7000;SMALL(ROW(DATA!$A$2:$A$7000)*(DATA!$A$2:$A$7000=$W$2);COUNTIF(DATA!$A$2:$A$7000;"<>"&$W$2)+ROW()-1)-1);"") 我将这个公式集成到了单元格A2的OUTCOME SHEET中,然后扩展它来捕获规则名称的下一个属性(Source,Label等)。 它正确地报告W2上的规则的所有行,但正如我所说,我被限制在一个查询值(一个规则)。 macros应该循环这个数组公式,以整合W列中的所有值,而列W不是空的,并将数据复制到结果表中。 我已经search了2天,但由于缺乏VBA的技能,我仍然无法做到。 […]

Excelmacros复制循环中的数据,直到空白行命中错误

我正在试图用VBA编写一个macros,它将把表格中的数据从平铺到“Front End”的表格中复制到另一个名为“Raw Data”的表格中。 这两张表是下面的图片 现在我只是处理上面的绿色表格 这里是我的代码到目前为止复制和粘贴到下一个空行的另一张: Sub transfer() Dim x As Long 'set starting point at row 8 x = 8 Dim BlankFound As Boolean 'defines the sheet the data is being coppied from Dim sourceSheet As Worksheet: Set sourceSheet = ThisWorkbook.Worksheets("Front End") 'defines the sheet the data is being pasted into Dim destSheet As […]

excel VBA图表格式 – 需要改变一行的宽度

我正在尝试编写格式化图表(myChart)的代码。 系列2和4是我需要格式化,所以他们的重量= 1。我已经尝试过,没有运气。 myChart.fullseriescollection(2).format.line.weigth = 1 我对VBA相当陌生,以前从来没有尝试引用图表对象,所以我不熟悉正确的语法。 谢谢! 看到我的代码如下。 Sub myChart() Dim myChart As Chart, cht As ChartObject Dim rngChart As Range, destSht As String Dim rngData As Range destSht = ActiveSheet.Name Set myChart = Charts.Add Set myChart = myChart.Location(where:=xlLocationAsObject, Name:=destSht) With ActiveSheet.ListObjects("Table1").DataBodyRange Set rngData = Union(.Columns(2), .Columns(9), .Columns(10), .Columns(11), .Columns(12)) End With With myChart […]

Excel VBAmacros删除公式dynamic范围不起作用

我有一个四个单元格的范围。 最左边的单元格(A列)是唯一的值。 接下来的三个单元格填充了公式。 列B和C是Vlookups,当列A被填充时,从表2拉取值(否则单元格的值为“”)。 在列A中放入值时,D列将填入当前date(否则单元格的值也为“”)。 我想要做的是运行一个macros,当一个唯一的值放入列A将杀死B,C,D中的公式,并保持它们的值。 然后它会自动select列A中后续行中的单元格End(xlDown)是固定的,这就是为什么我使用了End(xlDown)方法,然后是Activecell.Offset 。 这就是我运行时正在轰炸Excel的东西: Private Sub Worksheet_Change(ByVal Target As Range) Range(ActiveCell, ActiveCell.Offset(0, 3)).Value = Range(ActiveCell, ActiveCell.Offset(0, 3)).Value Range("A3").Select Selection.End(xlDown).Select ActiveCell.Offset(1, 0).Select End Sub

Excel VBA错误400当我添加sorting到我的macros的末尾

我有一个相对较长的子,它将数据添加到另一个工作表的一堆列的基础上来自哪里。 这部分的代码完美的工作,但我想sorting表中的所有行到最后一行添加。 我添加到最后的sorting代码工作,如果我硬编码的范围内包含什么单元格,但我的范围将增长每次运行子,所以我试图使范围包括variables我命名为下一个空行(1MaxRows)。 当我这样做时,我得到一个错误,说“400”,在过去,当我得到这个错误,这是因为我引用的工作表或工作簿错误,但这次我没有改变任何工作表引用。 我的代码给了我这个错误的部分如下: Columns("A:Q").Select ActiveWorkbook.Worksheets("Raw Data").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Raw Data").Sort.SortFields.Add Key:=range("A2:A & lMaxRows" _ ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("Raw Data").Sort.SortFields.Add Key:=range("B2:B & lMaxRows" _ ), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Raw Data").Sort .SetRange range("A1:Q & lMaxRows") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With 我试图用一些方法来改变范围代码,但是我总是得到一个溢出错误或400错误。 感谢您的帮助。

excel vba从一张表格复制到另一张表格

我有一个Excel文件的这个问题。 我在这个文件中总是在相同的单元格(范围O2:O6)中有200张,我有一定的值复制在一个唯一表(命名为“最终”)在同一列CI我也想订购这个值我复制并粘贴; 我会(或许)使用该命令,否则,以了解顺序:实际上,在所有表单的单元格A1中有该表单的参考名称(一些表具有名称A,其他B,其他C);我必须为了在最终表单中,名称为A的表格值为名称B,然后名称为C的表格的值,所以实际上我会这样做,“如果(在每个表格的单元格A1中存在字母A )然后(复制相对值)“,然后在该单元格中名称为B的工作表的所有值,然后命名C.你能帮我吗?

循环单元偏移?

我对VBA非常陌生我已经做了几个macros来帮助加速车间里的工作stream程,使工作表自动化等等,所以请原谅任何冗长的代码,但是这个让我难住了。 我们有一个用于我们的机器的工具表,我想自动化它,当你把一个4位数的代码放到一个单元格中时,例如“1 4 AV”,它会用另一个参数工作表中的更详细的描述填写工具表的各个部分,这里是代码。 Sub toolsheet() 'START box 1—————————————– Dim Box1 As String Dim Box1Array() As String Box1 = Cells(6, "B").Value Box1Array = Split(Box1) 'TOOL DESCRIPTION —————————————- If Box1Array(0) = 1 Then Worksheets(1).Range("C7") = Worksheets(4).Range("G3") Worksheets(1).Range("B7") = 1 ElseIf Box1Array(0) = 2 Then Worksheets(1).Range("C7") = Worksheets(4).Range("G4") Worksheets(1).Range("B7") = 2 ElseIf Box1Array(0) = 3 Then Worksheets(1).Range("C7") […]

如何根据string值过滤URL匹配

目前我使用下面的代码提取了13,000个URL。 但是,其中有3000人提供了来自Facebook,彭博等的url。 对于这些url,我一直在手动search那里的名字,可能有20个人中有一个公司的url。 所以我的问题是这样的:有没有一种方法,我可以编辑macros,以便如果一个URL页面包含一个string值,如“脸谱”或“维基”,它会跳过该url,并继续search一个URL不包含string值? 我如何提取url的代码: Sub XMLHTTP() Dim url As String, lastRow As Long Dim XMLHTTP As Object, html As Object, objResultDiv As Object, objH3 As Object, link As Object Dim start_time As Date Dim end_time As Date lastRow = Range("A" & Rows.Count).End(xlUp).Row Dim cookie As String Dim result_cookie As String start_time = Time Debug.Print […]

Object VBA从另一个工作表获取信息时,Excel VBA中的错误

我正在创build一些代码来更好地跟踪费用。 其中一个macros是为了从另一个工作表中加载固定费用,只有当金额不为空时,在信用情况下,只有在还有待处理的付款时。 我的代码如下: Sub CargarFijos() ActiveSheet.Range("J4").Select If Not ActiveSheet.Previous Is Nothing Then If Not ActiveSheet.Previous.Range("C12") Is Nothing Then If Not IsEmpty(ActiveSheet.Previous.Range("C12")) Then ActiveCell.Text = "Tarjeta de Credito" ActiveCell.Offset(0, 1).Select ActiveCell.Value = ActiveSheet.Previous.Range("C12").Value ActiveCell.Offset(1, -1).Select End If End If End If If Not IsEmpty(ActiveCell) Then ActiveCell.Offset(1, 0).Select End If If Not Worksheets("Fijos") Is Nothing Then For […]

使用回答“答案”来查找列中的百分位数

代码目前询问用户两个单独的号码,并将它们分开,答案popup消息框中。 接下来我要做的就是使用这个答案,并且在我的工作簿中列出它在“T”列中的百分比。 If response = vbNo Then Dim cost, weight, answer As Variant cost = InputBox("Please Enter PO Cost") weight = InputBox("Please Enter Net Weight") answer = cost / weight MsgBox "Price per KG is: " & answer Exit Sub