我有以下Excel电子表格:
A B C D E F G H
1 2019-03 2019-04 2019-05 2019-06 2019-07 Total
2
3 Revenue 500 600 1.100
4 COGS -40 -30 -70
5 Gross Profit 460 570 0 0 0 1.030
6
7 OPEX -10 -12 -22
8 Interests -20 -50 -70
9
8 EBT 430 508 0 0 0 938
公式:
Row 5 = SUMS of Row 3 and Row 4
Row 8 = SUMS of Row 5, Row 7 and Row 8
Column G = SUMS of Columns B to H
电子表格显示公司每月的表现。
每次到达新月时,我都希望将上个月的值复制到新月。因此,我需要确定第一个空列。 我尝试使用here中的VBA解决方案:
Sub Last_Used_Column()
c = Sheet1.Cells(3, Columns.Count).End(xlToLeft).Column
MsgBox c
End Sub
现在的问题是,与this问题相反,我有一个新的 G列,该列显示了总体效果。 因此,使用上述代码,我将得到 Colum H ,但我想将 D列识别为第一个空列。
我认为一种解决方案可能是将VBA查找第一个空列的范围限制为Columns B:F
。
我如何更改上面的代码才能实现这一目标?
答案 0 :(得分:0)
这将为您提供第3行中最后使用的列,然后为空白单元格+1
Sheet1.Rows("3").CurrentRegion.Columns.Count
答案 1 :(得分:0)
使用此
jinja2
它使用这个
Dim c As Long
c = Sheet1.Cells(3, Sheet1.Columns.Count).End(xlToLeft).Offset(ColumnOffset:=-1).End(xlToLeft).Column
查找最后使用的列(在您的示例G中)。然后它向左移一列
c = Sheet1.Cells(3, Sheet1.Columns.Count).End(xlToLeft)
并再次找到最后使用的列(从此处开始)
.Offset(ColumnOffset:=-1)
最后,您可以使用.End(xlToLeft).Column
将最后一列的空白列移到右边。
注意:如果没有空列,则c + 1
将是c
,因此您可以轻松地对此进行测试:
1