[[20171229121046]] 『オートメーションエラーについて』(ナナ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『オートメーションエラーについて』(ナナ)

いつもお世話になっております。
以前こちらの掲示板で質問させていただき以下のリンク先でコードを作っていただきました。

http://www.excel.studio-kazu.jp/kw/20171213102223.html

Excel2003,2010の環境では問題なく動作するのですが、2016の環境だとオートメーションエラーです。と表示されて

Set AR = CreateObject("System.Collections.ArrayList")

ここで止まってしまいます。
ネットで色々調べてセキュリティレベルを下げたり試してみましたがうまくいきません。原因がわかる方いらっしゃいますか?
よろしくお願い致します。

以下コード全文
Private Sub CommandButton1_Click()
Dim AR As Object

    Dim i As Long
    Set AR = CreateObject("System.Collections.ArrayList")
    For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) = True Then
            AR.Add i
        End If
    Next i
    For i = 0 To AR.Count - 1
        Sheets("Sheet1").Rows(AR(i) + 2).Cut Destination:=Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(1)
    Next i
    For i = AR.Count - 1 To 0 Step -1
        Sheets("Sheet1").Rows(AR(i) + 2).Delete
    Next i
    ListBox1.RowSource = "Sheet1!A2:C" & Worksheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row
    Set AR = Nothing
End Sub

< 使用 Excel:Excel2016、使用 OS:Windows10 >


 ArrayListをDictionaryに変更したら?
 動作の検証はしていません。

 Private Sub CommandButton1_Click() 
     Dim dic As Object 
     Dim i As Long
     Set dic = CreateObject("Scripting.Dictionary")
     For i = 0 To ListBox1.ListCount - 1
         If ListBox1.Selected(i) Then dic(i) = Empty
     Next i
     For i = 0 To dic.Count - 1
         Sheets("Sheet1").Rows(dic.keys()(i) + 2).Cut Destination:=Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(1)
     Next i
     For i = dic.Count - 1 To 0 Step -1
         Sheets("Sheet1").Rows(dic.keys()(i) + 2).Delete
     Next i
     ListBox1.RowSource = "Sheet1!A2:C" & Worksheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row
 End Sub
(seiya) 2017/12/29(金) 12:28

seiya様
うまく動作しました!
結局ArrayListが2016の環境で使えなくなってるのが原因なんですかね?
どうもありがとうございました!
(ナナ) 2017/12/29(金) 12:48

 ArrayList は環境に依っては使用できない場合があります。
 .NET Frameworkがインストールされている必要があります。

 場所
 Win 10
 C:\Windows\Microsoft.NET\Framework
(seiya) 2017/12/29(金) 13:25

seiya様
なるほど。原因がわかってすっきりしました。
ありがとうございました!
(ナナ) 2017/12/29(金) 13:51

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.