如何计算非矩形范围的列中的单元格

时间:2016-07-19 13:47:07

标签: excel vba excel-vba

所以我有一个将由用户选择的范围。它将是两列,通常不会彼此相邻。我需要计算所选范围的每列中的单元格数,以确定每列中的单元格数是否相等。 (如果不是,我将需要调整范围。)

例如,用户可以选择B5:B10和D6:D9。所以我需要代码分别返回6和4。

我试过了:

Set rng = Selection
rng.Columns(1).Count

这会返回1,这显然不是我需要的数字。

提前致谢!

2 个答案:

答案 0 :(得分:6)

您可以使用$(document).ready(function() { $("#contents-box-in").load("new-01.php", function() { $('#contents-box-in').fadeIn(120); }); }); function updateBoxData(data) { $('#contents-box-in').fadeOut(100, function() { $('#contents-box-in').html(data).fadeIn(130); }); } ... 对象的Areas方法来获取范围的区域。区域是非连续范围内的连续范围组。

Range

这里需要注意的是,您可能需要测试,例如,如果用户选择了A1:B10,只需拖动一个鼠标。由于这是一个连续的范围,它只有一个Set rng = Selection For i = 1 to rng.Areas.Count debug.print rng.Areas(i).Cells.Count Next ,你不会得到两个不同的数字。如果您需要对此进行测试,可以执行以下操作。

Area

答案 1 :(得分:3)

Dammit @Scott - 只是打败了我。

虽然我使用Rows属性 - 如果用户选择A1:B19,它将在数组的单个元素中返回19,如果他们选择A1:A19然后{ {1}}它将在数组的两个元素中返回19 使用B1:B19它将在单个元素中返回38,或在两个元素中返回19。

Cells