我是VBA的新手,虽然我已经完成了其他语言的一些编码,所以我理解了一些一般的概念。我需要为excel编写一个宏,它将工作簿中的一些数据复制到一个不连续的单个列中的一个连续的新工作簿中的单个列中。困难的部分是我需要通过用户提示选择要复制的数据,并且每个选择的大小都不相同。最后,带有单列的新工作簿将被保存为制表符分隔的文本文件。这就是我想到的,用一种通用的编码语言。复杂的复制函数Excel VBA宏
我会用斜体向区分变量,“引号”来区分价值观,大胆区分编码关键词。我假设代码将从新的空工作簿运行。
CODE:
%%%初始化变量。
MoreCells = “1” %%%布尔是/否提示以后
了selectedCells = “在提示选择以后范围”
SelectedCellsMagnitude = “细胞在了selectedCells#”
DestinationStartCell = “A1”%%%单元格开始于范围被复制到
打开工作簿“要复制的工作簿”个morecells = “1”
提示用户选择范围
组 “选择范围”= 了selectedCells
集“了selectedCells大小“= selectedcellsmagnitude
拷贝了selectedCells到新的工作簿起始于细胞destinationstartcell
设置destinationstartcell = destinationstartcell + selectedcellsmagnitude
提示用户“是否有更多单元要复制?“
如果 ”是“ 设置morecells = ”1“
别的设置morecells = ”0“
保存新的工作簿为制表符分隔的值在目的地“\ new \ workbook \ destination”中命名为“newworkbookname.txt”的文本文件
:END CODE
任何帮助将不胜感激。或者,就此而言,通过excel来了解VBA是否可行。
在此先感谢!
这是绝对有可能。如果您需要来自用户的额外输入,那么您还必须包含VBA用户窗体。所以代码基本上会调用用户表单,在关闭时从它获取数据,然后单独继续其快乐的方式。然而,当你说“幅度”时,我对你的意思感到困惑 – Lopsided
我觉得这很有道理。按照量级,我的意思是简单选择的细胞数量。这个想法是这个信息允许循环在将下一个选择复制到新的工作簿中时从正确的单元开始(因此它不会覆盖先前复制的单元)。 – user2600805