マクロでCSVファイルを開き、CSVファイル上で一部の操作したいのですが、
画面には開いたCSVファイルを表示させたくないです。
Application.ScreenUpdating = False
csvFile.Activate
Application.ScreenUpdating = True
※csvFileは、開いたCSVファイルにセットした名称
上記のように、CSVファイルをアクティブにしている部分をApplication.ScreenUpdatingで挟んでいるのですが、
CSVファイルが表面に出てきてしまいます。
MsgBox "まえ"
csvFile.Activate
MsgBox "うしろ"
と記述すると、
「まえ」のメッセージボックスの『OK』をクリックするとCSVファイルが表面に表示され、
その上に「うしろ」のメッセージボックスが表示されるので、
CSVファイルを表面に出しているのは csvFile.Activate のコードで間違いないと思います。
表示させたくないファイルをわざわざアクティブにしているのは、
自分の知識ではアクティブにしないとそのファイル上での操作ができないためです。
シートの切り替えなどは
Application.ScreenUpdating = False
で止めることができるのですが、別ファイルの場合は止められないのでしょうか。
No.2ベストアンサー
- 回答日時:
えっと、、、
画面描画を止めて、すぐに戻してるので表示されるのでは?
試してないけど、
Application.ScreenUpdating = False
csvFile.Activate
Thisworkbook.Activate
Application.ScreenUpdating = True
とか。
それよりも Open からのコードを出された方が良いアドバイスが得られるかも。
回答ありがとうございます。
理由がよくわかりませんが、提示していただいたようにThisworkbook.Activateを追加したところ思ったような動作をしました。
csvFile.Activateでアクティブにしており、
アクティブの副産物として(?)アクティブにしたファイルが表面に出るので、
それをScreenUpdating = False&Trueで挟んで止めたつもりだったのですが。
ソースを全部挙げるほうが回答しやすいであろうことは理解しているのですが、
長くなると全部挙げるわけにいかないので、
素人考えで「ここは必要無いだろう」と判断して削っているのですが、
巧く行かないものですね、申し訳ないです。
(今回、MsgBoxで試したように、その部分が問題なんだと思い込んでまして)
No.1
- 回答日時:
質問が長いが、下記では、私のおおぼけかな。
下記やってみると
いまSheet3がアクチブになっている場合
Sub test01()
ActiveSheet.Visible = False
'ActiveSheet.Range("A10") = "aaaaaa" 'error 別のシートに値がセットされる
Worksheets("Sheet3").Range("A10") = "DDDDDD"
End Sub
非表示状態でも
Worksheets("Sheet3").Range("A10") = "DDDDDD"
は有効のようなので、初めにシートを非表示にすればどうかな。
ActiveSheetは意図どおりにならないから使わず、具体指定する。
回答ありがとうございます。
質問長かったでしょうか。
「始めにシートを非表示にする」とのことですが、今回開きたいCSVファイルはシートが1つしかなく、
非表示を断られてしまいました。
何か方法があるのだと思いますが、解決しましたので締め切らせていただきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) VBA初心者です。電話番号の数字の前に0を表示させたいです。 2 2022/12/14 03:58
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- Visual Basic(VBA) エクセルVBAについて 8 2022/07/13 22:41
- Excel(エクセル) CSVファイルでVBAを動かす方法 3 2023/04/04 10:22
- Visual Basic(VBA) VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。 11 2023/05/23 16:29
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
#include <Windows.h>というヘ...
-
アクセス 壊れた? 「ファイ...
-
バッチ処理で追記コピーしたい
-
CSSを1ページに1枚作るのって変...
-
binファイルを解凍したいの...
-
iniファイル
-
Word VBA MSGBOX 内で降順表示
-
ファイルが開かれているかどう...
-
exeファイルをデータ転送サービ...
-
実行ファイル(.exeファイル)...
-
jarファイル
-
frm、frxファイル
-
COBOL
-
exeファイルの作り方
-
パイソンでpy ファイルと p...
-
Latexで図番号だけを「図1.1」...
-
コマンドプロンプトで作成日時...
-
VBSが起動しない
-
VBAでのicsファイル変換
-
Seasar2のdiconファイルの読み方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセス 壊れた? 「ファイ...
-
#include <Windows.h>というヘ...
-
Latexで図番号だけを「図1.1」...
-
binファイルを解凍したいの...
-
.NETアプリを作ったときの .man...
-
ファイル構造が破損しているフ...
-
2つのファイルのバイナリをコン...
-
CSSを1ページに1枚作るのって変...
-
Word VBA MSGBOX 内で降順表示
-
公文書のxmlファイルの開き方が...
-
jarファイル
-
バッチ処理で追記コピーしたい
-
自分で作成した重要ファイルを...
-
ファイルは何で構成されている...
-
exeファイルをデータ転送サービ...
-
リンクの張り付けかたを教えて...
-
exeファイルの中身を見る方法は...
-
参照するファイルをワイルドカ...
-
CRCが一致する確率
-
C言語---ファイルに出力したデ...
おすすめ情報