プロが教えるわが家の防犯対策術!

以前同じ質問をしたのですが、解決しておらす再度質問です。

ExcelVBAと同じようにシートオブジェクトでsort
で並び替えようとしたらadd(6行目)で
「ステートメントがありません」というエラーになりました。
※lastRowは宣言してあります。
============================================
with .Worksheets("シート名")
.activate
lastRow = .range("A1").end(-4121).row
with .sort
.sortfields.clear
.sortfields.add key:=.range("D1"),order:=1
.setRange .range("A1:E" & lastRow)
.header =0
.apply
end with
end with
============================================

VBScriptでExcel上のデータ並び替えはできないでしょうか?

ご存知の方、教えてください。

A 回答 (1件)

こんにちは



どうやら、文章では話がまったく通じないようなので、全文掲載。
※ 「ブックのパス」、「シート名」を正しく設定しないとエラーになります。

' ***** ここから *****

' Excel Enumerations
Const xlDown = -4121 '( XlDirection )
Const SortOnValues = 0 '( XlSortOn )
Const xlAscending = 1 '( XlSortOrder )
Const xlDescending = 2
Const xlGuess = 0 '( XlYesNoGuess )
' End of Enumerations


Sub SortTest()
Dim X, B, S, R
Const bookPath = "C:\Users\hoge\hoge\hoge.xlsx" '!!!!****
Const sheetName = "fuga" '!!!!****

Set X = CreateObject("Excel.Application")
X.Visible = True
Set B = X.Workbooks.Open(bookPath)
Set S = B.Worksheets(sheetName)
Set R = S.Range(S.Cells(1, 1), S.Cells(1, 1).End(xlDown)).Resize(, 5)

With S.Sort
.SortFields.Clear
.SortFields.Add S.Range("D1"), SortOnValues, xlAscending
.SetRange R
.Header = xlGuess
.Apply
End With
End Sub

SortTest

' ***** ここまで *****
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています