8

ExcelシートにStudentNamesという名前の列があり、その列に重複する値があるとします。言う、

Student
=======

Arup
John
Mike
John
Lisa
Arup

VBScriptを使用して、以下のように一意の値を取得するにはどうすればよいですか?

Arup
John
Lisa
Mike
4

3 に答える 3

13

一意のアイテムを取得するためのVBScriptツールは辞書です。すべてのアイテムをキーとして辞書と辞書に追加します。Keys()は、定義ごとに一意のキーの配列を返します。コード内:

  Dim aStudents : aStudents = Array("Arup", "John", "Mike", "John", "Lisa", "Arup")
  WScript.Echo Join(aStudents)
  Dim aUniqStudents : aUniqStudents = uniqFE(aStudents)
  WScript.Echo Join(aUniqStudents)

' returns an array of the unique items in for-each-able collection fex
Function uniqFE(fex)
  Dim dicTemp : Set dicTemp = CreateObject("Scripting.Dictionary")
  Dim xItem
  For Each xItem In fex
      dicTemp(xItem) = 0
  Next
  uniqFE = dicTemp.Keys()
End Function

出力:

Arup John Mike John Lisa Arup
Arup John Mike Lisa
于 2012-12-06T12:55:48.027 に答える