今天来个轻松的问题。
问题如下:
根据A列的数据,转换成C到D列等不定列数的排列方式。简单点说,就是把竖向的一列数据,转换成横向的多列数据。
如上图:
图一:A列转换成了三列多行数据。
图二:A列转换成了八列多行数据。
解决的思路:
1:把A列数数据放入数组。
2:用inputbox接收目标的行数
3:把原始的数据,按照行数进行分割。
4:把分割的数据,分别放入新的数组。
5:把新的数组,写入表格。
运行的过程如下:
代码如下:
代码解析:
Inputbox函数解析
语法 InputBox(prompt[,title][,default][,xpos][,ypos][,helpfile,context]) 参数说明
Prompt - 必需的参数。 在对话框中显示为消息的字符串。提示的最大长度大约为1024个字符。 如果消息扩展为多行,则可以使用每行之间的回车符(Chr(13))或换行符(Chr(10))来分隔行 。 title - 一个可选参数。显示在对话框的标题栏中的字符串表达式。如果标题留空,应用程序名称将被放置在标题栏中
default - 一个可选参数。用户希望显示的文本框中的默认文本。
xpos - 一个可选参数。X轴的位置表示水平从屏幕左侧的提示距离。 如果留空,则输入框水平居中。
ypos - 一个可选参数。Y轴的位置表示竖直方向从屏幕左侧的提示距离。如果留空,则输入框垂直居中
helpfile - 一个可选参数。一个字符串表达式,标识用于为对话框提供上下文相关帮助的帮助文件。 context - 一个可选参数。一个数字表达式,用于标识由帮助作者分配给相应帮助主题的帮助上下文编号。如果提供上下文,则还必须提供helpfile。
点击关注,可以阅读更多与VBA 相关的文章
私信 VBA或 vba 可以获取文章中含VBA代码的Excle文件