巧用宏随意提取Excel单元格的批注内容
佚名
Excel里面常用到批注功能。有没有想过从一些批注中将文本提取出来,并将文本复制到工作表的单元格中?Excel本身并没有内建的功能来完成这一工作,但你可以使用宏来很快完成该任务。本技巧适合Microsoft Excel 97、Excel 2000、Excel 2002、和Excel 2003。
Hector Serrano有一个大型工作表,其中大约包含600行和700列。在所有43000余个单元格中大约有200个单元格包含批注。Hector希望将这些批注提取出来,并将它们放到数据表主体右侧的单元格中。例如,如果一个批注隶属于C43单元格,则他希望该批注中提取出的文本在CC43中出现并将原始批注删除。
你可能认为你可以使用选择性粘贴功能来处理这一任务,但这一功能却并不奏效。如果你复制原始单元格并使用“编辑|选择性粘贴|批注”命令来复制,则只有批注被粘贴到目标单元格中。它们仍然是批注,而不是单元格中的文本,这与Hector的目标完全不同。
处理这种提取文本任务的唯一方法是使用宏。使用下面的宏,当在选中的单元格中运行时,会提取批注,并移动批注中的文本,然后删除原始批注。
Hector Serrano有一个大型工作表,其中大约包含600行和700列。在所有43000余个单元格中大约有200个单元格包含批注。Hector希望将这些批注提取出来,并将它们放到数据表主体右侧的单元格中。例如,如果一个批注隶属于C43单元格,则他希望该批注中提取出的文本在CC43中出现并将原始批注删除。
你可能认为你可以使用选择性粘贴功能来处理这一任务,但这一功能却并不奏效。如果你复制原始单元格并使用“编辑|选择性粘贴|批注”命令来复制,则只有批注被粘贴到目标单元格中。它们仍然是批注,而不是单元格中的文本,这与Hector的目标完全不同。
处理这种提取文本任务的唯一方法是使用宏。使用下面的宏,当在选中的单元格中运行时,会提取批注,并移动批注中的文本,然后删除原始批注。
该宏使用了iColOffset常量来指定批注的文本要向右侧移动多少个单元格,在本例中,offset (78)相当于移动3个字母表的位置 (26 * 3),因此原来在C列中的批注文本将最终被复制到CC列中。