循环遍历行以均匀分割值到新的电子表格

我是VBA的新手,他的任务是更新现有的macros,使我们的一部分工作stream程自动化。 基本上,当前的macros从一个电子表格中获取customer_id,并将它们导出到一个新的CSV文件中,供pipe理者将其发布给销售人员。 我们有一个程序,可以直接将客户分配给销售人员,但格式必须是仅包含customer_ids的单列CSV文件,并且每个CSV文件都需要针对每个销售人员进行标题。 当有多个销售人员分配到一个区域时,我的问题就开始了。 在这种情况下,我需要循环访问特定地区的customer_ids,并让他们在该地区的销售人员中平分秋色。

EX: There are 2 salespeople for region A (call them A1 and A2), and 2 other salespeople for region B (B1 and B2). customer_id | region 123 A 234 A 345 A 456 B 567 B 678 B 789 B 

上面的表格需要被过滤掉,这样客户123,234,345在2个新文件之间平均分配:一个用于A1,另一个用于A2(意味着一个文件将有额外的客户,这很好)。 区域B1和B2文件中的客户456,567,678和789也一样。

我假设我需要一个recursion循环来做到这一点(虽然我听说在VBA循环是坏的)。 但我不知道从哪里开始,以便在新文件之间均匀分配customer_ids。

我将衷心感谢您的帮助! 谢谢!

尝试这样的事情:

 Application.ScreenUpdating = False set A1 = Sheets.add set A2 = Sheets.add set B1 = Sheets.add set B2 = Sheets.add for each cell in customer_id column (replace this with the column) if cell.offset(0,1) = "A" Then if 1a >= 2a then A1.cells(1a,1) = cell else if 2a > 1a then A2.cells(2a,2) = cell end if Else If cell.offset(0,1) = "B" Then if 1b >= 2b then B1.cells(1a,1) = cell else if 2b > 1b then B2.cells(2a,2) = cell end if End if next cell dest = "C:\" ' Set where you want the files to be saved here A1.SaveAs dest & A1, xlCSV '(Where A1 is your salesperson name) A2.SaveAs dest & A2, xlCSV '(Where A2 is your salesperson name) B1.SaveAs dest & B1, xlCSV '(Where B1 is your salesperson name) B2.SaveAs dest & B2, xlCSV '(Where B2 is your salesperson name) application.displayalerts = False A1.delete A2.delete B1.delete B2.delete application.displayalerts = True application.screenupdating = True 

警告:这是没有经过testing的,我今天早上7点刚刚完成工作(现在是凌晨2点)