Excel VBA排序字母数字宏

时间:2017-01-16 15:51:21

标签: excel vba sorting

我是VBA的新手,在使用VBA排序的任何线程中找不到任何解决我的小问题的方法。

软件正在将数据写入Excel,并从1-30创建工作表。我的问题是,那些床单不在订单中。

到目前为止我尝试的每一个排序,我总是得到结果: sheet 1 ,sheet10,sheet11 ... sheet19,sheet 2 ,sheet20,sheet21,... sheet29,sheet 3 ,sheet30,sheet4 , sheet5,sheet6,...

我正在寻找一种解决方案来按顺序获取这些纸张:sheet1,sheet2,sheet3 ... sheet29,sheet30。

我现在唯一的想法是通过宏创建一个新工作表,创建一个列表(sheet1 ... sheet30)并让这些工作表按列表排序。

但我很确定有更聪明的方法可以解决这个问题。

提前获取任何建议。

1 个答案:

答案 0 :(得分:0)

只要您的工作表是“Sheet1”,Sheet2“,......那么名称

var array = [
{door: 1 , people: 20},
{door: 2 , people: 20},
{door: 1 , people: 10},
{door: 1 , people: 20},
{door: 2 , people: 50},
]

var res = [];

array.forEach(function(element) {
var e = res.find(function(data) {
    return data.door == element.door;
});

if(e) {
  element.people  =  e.people + element.people;
} else {
 res.push({
   door: element.door,
   people: element.people
 });
}   
});

似乎有用。