然后合并,不要理会它的提示,合并就是
最后双击新和成的大单元格,进去把刚才复制下来的内容粘贴进去。编辑单元格时如果需要换行,可以按住Alt键再按回车即可。
补充:请您看我上面写的 *** 作好吗?实际 *** 作一下好吗?别让我白码这些字……
没系统的看过书,不知道合并单元格怎么搞,不过我知道合并单元格的值是在第一个单元格里的,所以遍历A列,
不是空格
记录行数(用来填答案)
重置求和数为所在行的B列
是空格,把数据加到求和数里
所在行的B列加到求和数里
把答案铁道记录行数的D列
写成代码大概就是
sub demo()dim rowNum as int,sum as double,rng as range
for each rng in range([A2],[b2]end(xldown)offset(0,-1))
if rng=empty then
sum=sum+rngoffset(0,2)
else
if rowNum>0 then
cells(rowNum,5)=sum
end if
sum=rngoffset(0,2)
rowNum=rngrow()
end if
next rng
cells(rowNum,5)=sum
end subC2 输入公式 =IF(A2=A1,C1,C1+1),往下拉
D2 输入公式 =ROW(),往下拉,然后把这两列数值化。
E1 留空,F1 输入=MAX((C:C=E1)(D:D))--- 数组公式,ctrl+shift+enter结束公式输入
G1 输入 =VLOOKUP(E1,C:D,2,0)
然后运行以下宏,即可
Sub Macro1()
Dim i, a, b As Integer
ApplicationScreenUpdating = False ‘禁止屏幕移动
ApplicationDisplayAlerts = False ‘禁止d出警告
For i = 1 To 10000 '10000改为C列最大值
ActiveSheetRange("E1")Value = i ’定义E1的值
a = ActiveSheetRange("F1")Value '定义a值
b = ActiveSheetRange("G1")Value '定义b值
Range("A" & a & ":" & "A" & b)Select ‘找到要合并的单元格
With Selection '下面是我用录制宏的功能录下来的,就是为了合并单元格,并调整格式
HorizontalAlignment = xlCenter
VerticalAlignment = xlBottom
WrapText = False
Orientation = 0
AddIndent = False
IndentLevel = 0
ShrinkToFit = False
ReadingOrder = xlContext
MergeCells = False
End With
SelectionMerge
With Selection
HorizontalAlignment = xlCenter
VerticalAlignment = xlCenter
WrapText = True
Orientation = 0
AddIndent = False
IndentLevel = 0
ShrinkToFit = False
ReadingOrder = xlContext
MergeCells = True
End With
Next
ApplicationScreenUpdating = True ’恢复屏幕移动
ApplicationDisplayAlerts = True ’恢复d出警告
End Sub
没办法直接根据合并单元格求结果,但是可以用辅助列,需要按以下步骤:
将合并的单元格格式复制到旁边备用
选中所有备用的合并单元格中输入公式=row(),按ctrl+enter完成输入:
将辅助列贴值,并取消辅助列合并单元格:
在上图所示的状态下按ctrl+G定位--定位条件选择空值,输入公式等于上一个单元格,并按ctrl+enter结束输入:
在求人口数的地方输入公式:=COUNTIFS(D:D,D2,B:B,"")
贴值后可删除辅助列
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)