Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6956 / 13644 ツリー ←次へ | 前へ→

【42064】非表示ファイルの閉じ方 あきこ 06/8/30(水) 21:01 質問[未読]
【42068】Re:非表示ファイルの閉じ方 inoue 06/8/30(水) 23:04 発言[未読]
【42097】Re:非表示ファイルの閉じ方 あきこ 06/8/31(木) 21:43 お礼[未読]

【42064】非表示ファイルの閉じ方
質問  あきこ  - 06/8/30(水) 21:01 -

引用なし
パスワード
   こんばんは。
こちらの過去ログなどを参照しながら、
下のようなマクロを作ったのですが
非表示のファイルを閉じるところで行き詰まってしまいました。
よい方法がありましたらお教えください。
(私のできる範囲でやってみたのでマクロ自体の作りがかなり悪いと思いますが・・・)

マクロファイルとは別のデータファイル(TEST.CSV、シートは1つ(T1))があり、
データファイル内の余計な列を全て削除したのちに
集計して、それをマクロファイルのシート(T2)に貼り付けて
データファイルは保存しないで閉じるという処理です。

Sub 集計TEST()
Dim vnt, a
Dim i As Long
Dim dic As Object

  Workbooks.Open "E:\TEST.csv"
  With Sheets("T1")
   Range("A:C,E:R,T:Z").Select
   Range("T1").Activate
   Selection.Delete Shift:=xlToLeft
   Range("A1").Select
    vnt = .Range("B2", .Range("A65536").End(xlUp)).Value
  End With
  Set dic = CreateObject("Scripting.Dictionary")
  For i = 1 To UBound(vnt, 1)
    If Not dic.exists(vnt(i, 1)) Then
      ReDim a(1)
      a(0) = vnt(i, 1)
    Else
      a = dic(vnt(i, 1))
    End If
    a(1) = a(1) + vnt(i, 2)
    dic(vnt(i, 1)) = a
  Next i
  Sheets.Add
  With Sheets("Sheet1")
    .Cells.ClearContents
    .Range("A1").Resize(, 2).Value = Array("コード", "金額")
    .Range("A2").Resize(dic.Count, 2).Value = Application _
          .Transpose(Application.Transpose(dic.items))
    .Select
    .Range("A1:B1").CurrentRegion.Copy
    ActiveWindow.Visible = False
  End With
  With ActiveWorkbook.Sheets("T2").Paste
  End With

'------------------------------
  ActiveWindow.Visible = True
  ActiveWorkbook.Close
'------------------------------ここで非表示ファイルを終了する方法がわかりません。

 Erase vnt
  Set dic = Nothing
  
End Sub

みなさま、よろしくお願いします。

【42068】Re:非表示ファイルの閉じ方
発言  inoue E-MAILWEB  - 06/8/30(水) 23:04 -

引用なし
パスワード
   >非表示のファイルを閉じるところで行き詰まってしまいました。
>  Workbooks.Open "E:\TEST.csv"
Openさせた時にオブジェクトを取得しておいて、
それを閉じれば良いはずです。
Dim objWBK As Workbook
Set objWBK = Workbooks.Open("E:\TEST.csv")
  ・
  ・
  ・
objWBK.Close False

【42097】Re:非表示ファイルの閉じ方
お礼  あきこ  - 06/8/31(木) 21:43 -

引用なし
パスワード
   ▼inoue さん:
ありがとうございました。うまくいきましたv


>>非表示のファイルを閉じるところで行き詰まってしまいました。
>>  Workbooks.Open "E:\TEST.csv"
>Openさせた時にオブジェクトを取得しておいて、
>それを閉じれば良いはずです。
>Dim objWBK As Workbook
>Set objWBK = Workbooks.Open("E:\TEST.csv")
>  ・
>  ・
>  ・
>objWBK.Close False

6956 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free