Tag: macros

复制粘贴工作表名称到另一个工作簿

我很难做到这一点。 当我启动macros时,它不会产生任何错误,但不会引起任何结果。 Sub EmpresasCubiertas() Dim x As Workbook Dim y As Workbook '## Open both workbooks first: Set x = Workbooks.Open("G:\Estudios\Biblioteca\Mercado Accionario Chileno\InsertarEmpresa.xlsm") Set y = Workbooks.Open("G:\Estudios\Biblioteca\Mercado Accionario Chileno\Procesamiento.xlsm") For i = 3 To x.Sheets.Count 'Now, paste to y worksheet: y.Sheets(1).Range(“A” & i) = x.Sheets(i).Name Next i End Sub 请注意,工作簿“y”是我首先打开运行macros的工作簿。 即它已经开放,如果有任何帮助的话。

如何跳过列中的空单元格?

我的列A的值是像kat1 kat2空kat3我希望程序本质上跳过空单元格,并使用kat3作为单元格设置最后一行(lrow)。 我正在使用的代码如下所示。 以下是修改后的代码: Private Sub txt_BPName1_Exit(ByVal cancel As MSForms.ReturnBoolean) Dim ws As Worksheet Dim Lrow As Long Dim c As Range, rng As Range Set ws = ThisWorkbook.Sheets("Sheet1") With ws Lrow = .Range("A" & .Rows.Count).End(xlUp).row 'Lrow = .Range("A" & .Rows.Count, 1).End(xlUp).Select 'Lrow = .Range("A65536").End(xlUp).row + 1 Set rng = .Range("A2:A" & Lrow) End With […]

如何在Excel中使用VBA / Macro获取正则expression式匹配的列号

我想要得到像A:1的单元格编号,find使用正则expression式的每个匹配,并将其存储在同一个Excel文件中的当前旁边的工作表上。 有没有可能在Excel中实现。 由于less数例子,我尝试返回匹配find真/假。 Sub Sample() Dim ws As Worksheet Dim aCell As Range Set ws = ThisWorkbook.Sheets("Sheet1") With ws Set aCell = .Columns(2).Find(What:="Custom ", LookIn:=xlValues, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False) If Not aCell Is Nothing Then aCell.Value = "Test" Else MsgBox "Not Found" End If End With End Sub 这是我试过的样品!

如果缺陷状态准备好重新testing,使用VBAmacros分割并着色重复的行值

基于评论的改写。 1.如果F栏中的状态=准备重新testing或通过 2.如果列C中有任何值,则用逗号(,)分隔C列中的重复ID 3.在列A中查找重复的ID并用绿色标记 恩。 在行1中,缺陷ID JIRA1有两个重复的ID ALM3和ALM7。 所以我需要在列A中查找这些值。4.如果这些缺陷(ALM3和ALM7)的状态没有closures,那么我需要用绿色标记整行 Sub findduplicateColoreIt() 'Get the last row Dim Report As Worksheet Dim i As Integer, j As Integer Dim lastRow As Integer Set Report = Excel.Worksheets("Sheet2") lastRow = Report.UsedRange.Rows.Count Application.ScreenUpdating = False For i = 2 To lastRow For j = 2 To lastRow If Report.Cells(i, 4).Value […]

VBA过去一个月到本月之后的两个月

我试图让VBA更多,因为它允许更多的自由。 我想弄清楚的是,我怎样才能做一个VBA过滤一列,只显示仅在上个月,当前月份和未来两个月内出现的值。 我知道我可以使用xlFilterLastMonth,但现在我仍然只是录制macros,然后改变它们以适合我的更具体的需求。 我可以find使用xlFilterNextMonth或xlFilterLastMonth的单数filter。 但是我找不到任何我想找的东西。 这是我目前的macros: Sub BASICPQS() ' ' BASICPQS Macro ' ' Sheets("PRODUCTION").Range("$A$1:$AA$146").AutoFilter Field:=9, Operator:= _ xlFilterValues, Criteria2:=Array(1, "3/31/2016", 1, "4/27/2016") ActiveWindow.SmallScroll Down:=-18 End Sub 任何帮助,将不胜感激。 谢谢。

在列A中查找文本,例如ID号“10502”

我目前有一个在整个公司内已经完成培训的员工名单。 我试图创build一个macros,通过他们的员工号find我的部门的员工,并将其复制到工作表2。 员工编号在列A中。该员工可能在其编号下有多个条目。 我想复制在列A到列N的那一行上的所有信息。我想把这些条目粘贴到Sheet2中。 我们的部门有187名员工。 任何帮助完成这将不胜感激。 Sub () Worksheets("Sheet1").Activate Range("A1").Activate ' Find the first ID Number Cells.Find(What:="10503", After:=ActiveCell, SearchDirection:=xlPrevious).Select ' copy and paste Text2 ActiveCell.Offset(0, 0).Copy Worksheets("Sheet2").Select Range("A65000").End(xlUp).Offset(1, 0).Select ActiveCell.PasteSpecial (xlPasteAll) Worksheets("Sheet1").Activate End Sub

在Excel中使用VBA将特定列复制到NEW工作簿中

我在这个总菜鸟请温柔的大声笑。 我有两张工作簿,我只关心这个function的Sheet1。 工作表中有一堆列,我只需要列A和G的数据。我需要将这些列复制到一个新的工作簿。 我成功地使用了我在这个网站上find的下面的代码 Sub dural() Dim r1 As Range, r2 As Range Sheets(1).Select Set r1 = Range("A:A") Set r2 = Range("G:G") Set wbNew = Workbooks.Add r2.Copy Range("A1") r1.Copy Range("B1") End Sub 这做了我所需要的,但我希望它自动创build并保存输出为一个新的文件,最好在一个特定的目录。 我不需要它打开并显示像上面的代码。 让我们把它叫做output.xlsx。 原始文件是SOURCE.xlsm 谢谢你的帮助:)

Excel VBA查找具有多个条件的非唯一值

我正在寻找一些帮助,试图创build一个Excelmacros。 我有一个非常大的工作表,看起来有点像这样: Account NAME Address Dealer 68687 Sara 11 Wood 1111 68687 Sara 11 Wood 1111 68687 Sara 11 Wood 1111 12345 Tom 10 Main 7878 12345 Tom 10 Main 7878 54321 Tom 10 Main 7878 10101 John 25 Lake 3232 10101 25 Lake 3232 11111 John 25 Lake 3232 我需要做的是突出显示表格上的所有行,其中每个“交易商”在“帐户”列中具有多个唯一值,但在名称列中也必须具有一些值。 所以在上面的例子中,我只想突出显示经销商7878的所有行。 我不确定是否应该查看循环或数组,可能需要很长时间,因为表格很大。 寻求一些帮助。 谢谢。

加快macros观复制/偏移

下午好, 我有这个macros从一个工作表复制值到另一个工作表上的不同页面。 例如: Sheet1.A1到Sheet2.K2,Sheet1.A2到Sheet2.AA2,Sheet1.A3到Sheet2.AQ2 我是这样做的: Sheets("Inlog").Range("A1").Activate For i = 4 To k + 1 ActiveCell.Offset(rowOffset:=0, columnOffset:=10).Activate ActiveCell.Value = Sheets("CBT").Range("J" & i).Value Next 代码本身运行良好,但这不是唯一的循环,因为我希望从Sheet1复制多个范围到Sheet2。 我的完整的macros是诀窍,但大约需要4分钟才能完成。 更新的Excel版本的同事们甚至更久。 我的VBA技能是非常基本的,所以任何专业提示或其他方法来加速呢? 谢谢!

通过XLSM文件循环SSIS 2012

我有一堆启用了macros的Excel文件。 我想通过一个SQL查询来循环每一个 – select * from [Sheet1$A10:AZ100] 。 当我select了一个文件时,我的Excel连接pipe理器工作,但是当我添加一个For Each Loop Task并将我的variables分配给它时,会出现一个大问题。 我的步骤是: 创build新连接:Excel连接pipe理器我select文件夹中的第一个XLSM文件并点击确定。 拖放每个循环容器并双击。 在集合中:我selectFor Each File Enumerator并在文件夹中指定文件夹path。 在文件中:* .xlsm最后一个选项是:完全合格 在variables映射中:我创build了一个名为“FileFound”的新variables 在每个容器中拖放数据stream任务并双击。 拖动源助手:select上面创build的Excel连接pipe理器 双击Excel来源和数据访问模式:我selectSQL命令。 我的查询是select * from [Sheet1$A10:AZ100] 。 这个查询对于所有的XLSM文件是相同的。 点击列和我的数据显示一切OK 现在这是问题开始的地方 – 右键单击Excel连接pipe理器,然后点击属性。 我先复制我的连接string。 我的连接string是: Provider=Microsoft.ACE.OLEDB.12.0;Data Source=F:\Excel data\ABCDE.xlsm;Extended Properties="Excel 12.0 MACRO;HDR=YES"; 我单击expression式并select属性中的连接string。 接下来我编辑我的expression式为: "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + @[User::FileFound] + " ;Extended Properties=\"Excel 12.0 MACRO;HDR=YES\";" […]