我认为我在正确识别固定单元格或操作顺序方面遇到了问题。我花了一个半小时研究,还是找不到答案。问题只出现在连接行上:我无法让VBA识别公式文本中插入的固定单元格(我只能在单元格中获得它)。它用于将日期插入到C2中的数据库中的每日导出excel报告。我将B列中的文件名与它们在一天结束时所在的文件夹位置、当天的日期以及C列中每个匹配单元格中的唯一文件组标识符连接在一起。出于保密目的,我已将文件夹名的文本替换为folder。我可以手动连接并自动填充它,但我宁愿只输入一次公式!任何帮助都是有帮助的。
谢谢!-约翰
Columns("A:A").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("C2").Select
ActiveCell.FormulaR1C1 = "=TEXT(RC[-1],""yyyy mm dd"")"
Range("C2").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A5").Select
ActiveCell.FormulaR1C1 =
"=CONCATENATE(""FOLDER,("$C$2"), FOLDER"",RC[1])"
Dim lastRow As Long
lastRow = Range("B" & Rows.Count).End(xlUp).Row
Range("A5").Select
Selection.AutoFill Destination:=Range("A5:A" & lastRow), Type:=xlFillDefault
Range("A5:A" & lastRow).Select
Selection.Copy
Range("B5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Columns("A:A").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
Rows("1:2").Select
Selection.Delete Shift:=xlUp
Range("B3").Select发布于 2018-02-24 06:25:59
我不知道这是否有效,因为公式需要通过RC表示法进行引用,但您可以尝试:
ActiveCell.FormulaR1C1 =
"=CONCATENATE(""FOLDER,(" & "$C$2" & "), FOLDER"",RC[1])"作为插入固定单元格的替代方法,可以选择将该单元格的值赋给一个字符串变量,然后再插入该变量。
Dim dateVal as string
dateVal = Range("C2").Value2
Range("A5").FormulaR1C1 =
"=CONCATENATE(""FOLDER,(" & dateVal & "), FOLDER"",RC[1])"https://stackoverflow.com/questions/48956636
复制相似问题