如何根据'n'作为单元格中的数字插入'n'行数
列a中有公司名单。 在b栏中,我有一个号码。 我需要创build一个列表,其中公司在列表中显示多次:
Company A 4 Company B 2 Company C 3
我想要:
Company A Company A Company A Company A Company B Company B Company C Company C Company C
所以,这是一个“Create(n)Duplicates”function。
试试这个:
Sub KopyKat() Dim N As Long, i As Long, K As Long Dim v As String, kk As Long, m As Long N = Cells(Rows.Count, "B").End(xlUp).Row K = 1 For i = 1 To N kk = Cells(i, "B").Value v = Cells(i, "A").Value For m = 1 To kk Cells(K, "C") = v K = K + 1 Next m Next i End Sub
编辑#1:
macros很容易安装和使用:
- ALT-F11调出VBE窗口
- ALT-I ALT-M打开一个新的模块
- 粘贴东西,closuresVBE窗口
如果您保存该工作簿,该macros将与它一起保存。 如果您在2003年以后使用的是Excel版本,则必须将该文件另存为.xlsm而不是.xlsx
要删除macros:
- 如上所示调出VBE窗口
- 清除代码
- closuresVBE窗口
从Excel使用macros:
- ALT-F8
- selectmacros
- 触摸RUN
要了解有关macros的更多信息,请参阅:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
和
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
macros必须启用这个工作!
我不确定这是否真的很简单/可行,只是根据你的列表来做公式或手动Excelfunction,所以这里是VBA程序来完成这个工作。
要使用此function,请在Excel中单击Alt + F11
。 转到插入>模块。 然后将其粘贴到模块中并运行(在调整了数据范围和表名称之后。
Sub MakeList() Dim ws As Worksheet Set ws = Sheets("Sheet1") 'change to your sheet name With ws Dim c As Range For Each c In .Range("A1:A3") ' assumes list in cells A1-B3 .Range("D" & .Rows.Count).End(xlUp).Resize(c.Offset(, 1)).Value = c.Value 'builds list in column C Next End With End Sub