Tag: autofill

自动填充macros将VLookUp结果向下填充到最后一个相邻的单元格

我试图做一个macros将运行一个vlookup ,然后自动填充到最后一个包含数据的相邻单元格。 当我最初创buildmacros时,数据集包含1917行数据,这就是为什么你会继续看到它的参考1917 。 但是,数据集每天大小不一。 这个特定的macros需要几个步骤才能得到这一点: 将文本转换为列 删除支持报告提供的不必要的列 将标题添加到5列 调整所有列的大小来修复数据 然后它运行第一个vlookup ,我需要的数据填充到左边的最后一个相邻单元格 然后它运行另一个vlookup ,我也需要填充到左边最后一个相邻的单元格 这是我正在努力的两个vlookup的代码: Range("E2").Select ActiveCell.FormulaR1C1 = _ "=VLOOKUP(RC[-4],'CURRENT DAY'!R[-1]C[-4]:R[2498]C[1],5,0)" ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-4],'CURRENT DAY'!R1C1:R2500C6,5,0)" Range("E2").Select Selection.AutoFill Destination:=Range("E2:E1917") Range("E2:E1917").Select Columns("E:E").EntireColumn.AutoFit Range("F2").Select ActiveCell.FormulaR1C1 = _ "=VLOOKUP(RC[-5],'CURRENT DAY'!R[-1]C[-5]:R[2498]C,6,0)" ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-5],'CURRENT DAY'!R1C1:R2500C6,6,0)" Range("F2").Select Selection.AutoFill Destination:=Range("F2:F1917") Range("F2:F1917").Select

自动填充为最后一个活动行

我使用的代码是: Range("U5:AK5").AutoFill Destination:=Range("U5:AK" & Range("A" & Rows.Count).End(xlUp).Row) 列A的数据是dynamic的,有时最后一个活动行将已经是5(与公式行相同),或者有时候只有行4。 如果列A中的数据下降到第4行,我不会收到错误。 但是,如果它到第5行,我得到一个错误。 很明显,如果比5更远,我不会有错误。

根据另一列中的行自动填充第二列中的数据

我一直在寻找和尝试一些想法,但还没有得到这个工作。 我想我可能需要使用VB脚本来做到这一点,但迄今为止所有的尝试都失败了。 本质上,我需要自动填充第二列中的单元格与列2中第一行中的相同数据(即在屏幕截图B2 ='234',所以下面的所有单元格也将是'234')。 第2列填充中的数据行应与列A中的行数相匹配(可能会从一个作业更改为下一个作业)。 我试过编辑几个公式,从这里接近堆栈,但我不断收到错误。 我附上了一个截图,希望能够使它更加清晰,并且非常感谢这方面的任何见解。 谢谢。 SCREENSHOT – 根据第1列的行数自动填充第2列

跨dynamic启动自动填充列

我正在尝试编写一个代码来自动将工作表中的最后一列自动填充x次。 我有代码将拿起最后一列: With ActiveSheet LC = .Cells(3, .Columns.Count).End(xlToLeft).Column End With Columns(LC).Select 如果我指定了哪些特定的列,还会自动填充的代码 Selection.AutoFill Destination:=Columns("BE:BQ"), Type:=xlFillDefault 我所挣扎的是如何用连接到原始最后一列(LC)的所需代码replace列“BE:BQ”。 理想情况下,我希望自动填充以添加10个新列。 你有什么build议吗? 理想情况下,我希望代码能够遍历我的工作簿中的所有工作表 – 但这对我来说可能有点高级! 非常感谢你提前。 UPDATE 感谢您提出的build议。 我修改了代码如下。 这首先performance得很好。 不过,我自己遇到了两个问题。 问题1 – 在某些表格中填满第3行中的date字段时未填写。 它只是复制到与最后一行相同的date(即01/06/2017,但显示为Jun-17)。 我希望一次能填满一个月。 问题2 – 在第二行中有一个date,即前一个月的最后一天。 这是目前手动input,但因为我已经开发了macros,我想这将更改为一个公式等于date在单元格下面减去1天。 我试图用下面的公式做到这一点,但它完全是错误的! sht.Cells(2, LC).Formula = "=" & Cells(3, LC) & "-1" 任何意见,如何解决这两个问题将不胜感激。

填写B列的VBA代码

我最近使用这个代码,我发现在另一个电子表格上帮助我解决这个问题: Range("B2").Select ActiveCell.FormulaR1C1 = _ "=VLOOKUP(RC[-1],'Unapplied Report'!R[-1]:R[15],2,FALSE)" Range("A2").Select Selection.End(xlDown).Select ActiveCell.Offset(0, 1).Select Range(Selection, Selection.End(xlUp)).Select Selection.FillDown 在我最初的使用中,这个代码通过selectA1来确定表格的尺寸,find正在使用的“A”的底部,在列“B”中select相邻的单元格,并填充以A2相邻的以A2结尾的单元格,已经开始了。 当重复使用此代码执行相同的任务时,它将从“B1”填充,这是一个问题,因为它随后将我的标题填充到表单底部而不是公式。 我以前使用的代码没有任何问题。 我粘贴下面,以防别人可能会注意到我做了什么不同或错误。 谢谢你的帮助! Range("B2").Select ActiveCell.FormulaR1C1 = _ "=IF(ISNUMBER(MATCH(RC[-1],Conveyance,0)),""Conveyance"",IF(ISNUMBER (MATCH(RC[-1],NonConveyance,0)),""Non-Conveyance"",IF(ISNUMBER(MATCH(RC[-1],VA,0)),""VA Claim"",IF(ISNUMBER(MATCH(RC[-1],USDA,0)),""USDA Claim"",IF(ISNUMBER(MATCH(RC[-1],PMI,0)),""PMI Claim"",IF(ISNUMBER(MATCH(RC[-1],SFLS,0)),""SFLS Claim"",""Not Found""))))))" Range("A2").Select Selection.End(xlDown).Select ActiveCell.Offset(0, 1).Select Range(Selection, Selection.End(xlUp)).Select Selection.FillDown

范围类的自动填充方法失败:VBA

我是VBA新手,无法理解代码在哪里掉下来。 尝试执行If语句后收到消息“Range类的自动填充方法失败”。 我的代码是: Columns("H:H").Select ActiveCell.FormulaR1C1 = _ "=IF(C[-6] = ""Commodities Ags/Softs"", (IF(RC[-3]=R1C24,""Y"",(IF(RC[-3]=R2C24,""Y"",(IF(RC[-3]=R3C24,""Y"",(IF(RC[-3]=R4C24,""Y"",(IF(RC[-3]=R5C24,""Y"",(IF(RC[-3]=R6C24,""Y"",(IF(RC[-3]=R7C24,""Y"",(IF(RC[-3]=R8C24,""Y"",(IF(RC[-3]=R9C24,""Y"",""N"")))))))))))))))))),"""")" Selection.AutoFill Destination:=Columns("H:H"), Type:=xlFillDefault 它在最后一行失败,如果声明是好的,任何帮助将不胜感激, 干杯

Excel VBA自动填充dynamic范围并增加10

有没有办法使自动填充增加10而不是1? 我的工作表中以下代码function。 用户(地质学家)在B1中定义起始站号,在B2中定义终点站号。 macros运行并从C5开始,列中填入从开始到结束站的站号。 但是,数据只需要每10个站点收集一次,而我一直无法弄清楚如何将这些数据并入到我的代码中。 而不是1000,1001,1002 …等,我想1000,1010,1020 … Sub StationFill() Dim taskStationEnd As Long Dim taskStationBegin As Long taskStationBegin = Range("B1").Value taskStationEnd = Range("B2").Value With Worksheets("Data") .Columns(3).ClearContents Set SourceRange = .Range("C5") SourceRange.Value = taskStationBegin Set fillRange = .Range(SourceRange, _ Cells(SourceRange.Row + taskStationEnd – taskStationBegin, SourceRange.Column)) SourceRange.AutoFill Destination:=fillRange, Type:=xlFillSeries End With End Sub (第一次海报。不知道我格式正确,并得到了代码行在正确的地方rest)

自动填充公式,但请不要太短

我有一个macros插入到电子表格行数,由用户input到对话框中规定的行数。 我想要实现的是根据用户插入的行数自动填充相应列的公式。 我现在的代码是: Dim iInputRows As Integer Dim iCount iInputRows = CInt(InputBox("How many data entry rows required?")) 'message box for user input (interger) If iInputRows > 1 Then For iCount = 1 To iInputRows – 1 Rows(iCount + 13 & ":" & iCount + 13).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove 'insert no. of rows from from first row […]

多个工作表自动填充错误1004

我想创build一个button,在多个工作表中进行自动填充。 但似乎我只能自动填充一张表…这是代码: Private Sub CommandButton1_Click() Sheets("Sheet1").Range(Cells(1, 1), Cells(1, 1)).AutoFill Destination:=Sheets("Sheet1").Range(Cells(1, 1), Cells(2, 1)) Sheets("Sheet2").Range(Cells(1, 1), Cells(1, 1)).AutoFill Destination:=Sheets("Sheet2").Range(Cells(1, 1), Cells(2, 1)) End Sub 那简单。 如果我把它分解成两个不同的button,它们工作得很好。 我试过Worksheets()。激活 ,但它没有帮助。 (大多数人不推荐激活反正)也尝试写Sub,但同样的问题仍然存在“错误1004”。

自动填充dynamic范围的最后一行和最后一列

我有一个包含多个不同大小的工作簿。 我想在最后一行之后添加一个总列,并将公式复制到所有列中。 我已经定义了最后一行和列,并且公式在正确的位置出现,但我在尝试填充时收到一个错误。 如何正确引用这两个dynamic单元格的填充? 我现在只用一张纸进行testing,但最终会循环读入本书中的所有纸张。 Sub Addtotals() Dim Bord As Worksheet Dim LRow As Long Dim LCol As Long Dim frmcell As Range Set Bord = Sheets("Borders") With Bord '–> Define last rows and columns LRow = .Range("A" & Rows.Count).End(xlUp).Row LCol = .Range("A" & Columns.Count).End(xlToLeft).Column '–> Add Total text to first column .Range("A" & LRow).Offset(1, […]