[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『対象ファイルを開かずに実行』(タモツ)
以前こちらで教えていただいたのですがファイルを開いている状態でないと
実行できなくてできればcsvファイルを開かずともExcelファイルのボタンを
押すだけで実行するようにするためにはどこを変更すればよろしいのでしょうか?
Sub Macro1()
'Application.ScreenUpdating = False Dim a Dim myCsvSht As Worksheet Dim myNewCsv As Workbook
Set myCsvSht = Workbooks("データ.csv").Worksheets("Sheet1") Set myNewCsv = Workbooks.Add
a = Application.Transpose(myCsvSht.Range("U2:U" & myCsvSht.Range("U1048576").End(xlUp).Row).Value)
a = Filter(a, "234", False) a = Filter(a, "567", False) a = Filter(a, "890", False) a = Filter(a, "123", False) a = Filter(a, "456", False) a = Filter(a, "987", False)
With myCsvSht.Range("A1") .AutoFilter Field:=21, Criteria1:=a, Operator:=xlFilterValues .AutoFilter Field:=34, Criteria1:=12345, Operator:=xlFilterValues .CurrentRegion.Copy myNewCsv.Sheets("Sheet1").Range("A1") .AutoFilter End With
myNewCsv.SaveAs ThisWorkbook.Path & "\" & "データ2.csv", xlCSV myNewCsv.Close False 'Application.ScreenUpdating = True End Sub
< 使用 Excel:Excel2007、使用 OS:Windows7 >
>以前こちらで教えていただいたのですが
[[20190805025614]] 『データの抽出』(レイ)
↑のことでしょうか?そうであるなら、続きで書くかリンクを付けておいたほうが良いと思います。
また、以前の投稿とニックネームが違うように思われますが、他の方とニックネームが被ってしまったなどの理由があれば別ですけど、掲示板で投稿するたびに変えるのはやめたほうがいいですよ。
過去ログも探しづらいし、別人を装うと、場合によっては同じキャッチボールをする羽目になります。
>ちなみになんですがCSVファイルを閉じたまま同様の処理を行うことはできない
のでしょうか。
>ファイルを開いている状態でないと実行できなくてできればcsvファイルを開かず
なんで閉じたまま〜という条件が付くのですか?
マクロで、テキストファイルをインポートしてから処理するのではダメなんでしょうか?
(もこな2) 2019/08/15(木) 06:35
閉じたままというのはcsvファイルの方でして
ボタンを配置したExcelは開いてボタンを押して
使用するのですが実際に使用するcsvファイルは
複数あり毎回、Excelファイルとcsvファイル両方
開いて実行する手間を省きたくてcsvファイルは
閉じたまま実際できる方法があればご教示頂きたい
と思って質問させていただきました。
(タモツ) 2019/08/15(木) 08:37
前スレでも指摘したように Filter関数での結果でAutoFilterしてデータをCSVで保存しなおす。 ということなら、データ構成にもよるけどADO接続で処理すれば閉じたままでOK。 (seiya) 2019/08/15(木) 12:48
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.