大家好,这是我的第一篇文章,我想知道你是否可以帮助我。
我想编写一个宏/脚本,允许我根据I&#列,将公式放入当前所选列的一列(对于当前列的所有活动行) 39;已选中。我遇到的问题是我不会总是知道当前的列字母(因为我的选择从工作表更改为工作表)。
举个例子: 我的一个列目前包含日期,日期以不同的格式输入,有些用"。"分隔,有些用" - ",有些用空格等等。我有一个处理这个问题的公式,所以我需要将这个公式放在所选列(具有日期)右侧的列中。
当我指定列字母时,我能够这样做,但是如果它改变了则不能。
请帮忙吗?
答案 0 :(得分:0)
您可以使用ActiveCell.Offset(0,1).Value = Variable
这意味着,无论当前单元格是什么,您都可以移动并“选择”将值放入已激活的单元格的右侧单元格中。您可以使用循环移动选择。
Do
Workbooks("Yur workbook name").Worksheets(1).Range(Adress you want to start adding).Offset(0, 1).formula = "=FORMULA"
i = i + 1
ActiveCell.Offset(1, 0).Activate
Loop While i <= max_row
编辑:第二次
将公式放在一个单元格中,然后说C1
'Select a range
Set take = Worksheets(1).Range("C1")
take.Copy 'copy the formula
Worksheets(1).Paste Destination:=Worksheets(1).Range("B1:B10")
只要你想要它就会复制你的功能
答案 1 :(得分:0)
放手一搏,
Sub SomethingNeat()
Dim rng As Range, x
x = Selection.Column
On Error Resume Next
Set rng = Columns(x).SpecialCells(xlCellTypeConstants, 23)
If Not rng Is Nothing Then rng.Offset(, 1) = "'=MyFormula"
End Sub