数词(Microsoft Excel)
单词通常与文字处理器(例如Microsoft Word)相关联。但是,许多人也在其电子表格程序中使用单词。 (我曾经有一位同事,他一直使用Excel编写备忘录。)有时候,您可能希望计算从某人那里收到的工作表中的单词数。在Word中有执行此任务的本机功能,但在Excel中没有。
一种解决方案,当然是将您的工作簿加载到Word中,在那里进行字数统计,然后关闭文件。但是,这几乎不像在Excel本身中创建一个宏来对单词进行计数那样灵活。下面的宏CountWords用于计算您在工作表中选择的任意范围内的单词数:
Sub CountWords() Dim MyRange As Range Dim CellCount As Long Dim TotalWords As Long Dim NumWords As Integer Dim Raw As String Set MyRange = ActiveSheet.Range(ActiveWindow.Selection.Address) TotalWords = 0 For CellCount = 1 To MyRange.Cells.Count If Not MyRange.Cells(CellCount).HasFormula Then Raw = MyRange.Cells(CellCount).Value Raw = Trim(Raw) If Len(Raw) > 0 Then NumWords = 1 Else NumWords = 0 End If While InStr(Raw, " ") > 0 Raw = Mid(Raw, InStr(Raw, " ")) Raw = Trim(Raw) NumWords = NumWords + 1 Wend TotalWords = TotalWords + NumWords End If Next CellCount MsgBox "There are " & TotalWords & " words in the selection." End Sub
请注意,宏会逐步遍历所选范围内的每个单元格。
然后,它将忽略任何包含公式的单元格。在所有其他单元格中,它实际上是在计算单元格中的空格数。 (假定一个或多个空格来分隔单词。)然后,在一个消息框中显示单词计数,以供您参考。
该宏在相对较小的范围内非常快。如果选择的范围较大(例如整个工作表),则宏可能需要大量时间才能完成其工作。这样做的目的是确保在调用宏之前仅选择要分析的实际范围。
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(11748)适用于Microsoft Excel 2007、2010、2013和2016。您可以在下面的Excel的较旧菜单界面中找到此技巧的版本:“ link:/ excel-Counting_Words [Counting Words]”。