
どなたかにご教示頂きたいのですが
まず、やりたいこととして
・別のExcelファイルを開いてその中の指定したシートを別シートに保存する
・セルの値を0クリアする
の2点です、まず別のエクセルファイルを開くところで躓いているのですが
具体的なコードは
Sub ファイルを開く()
' ファイルを開く Macro
' Excelファイルを開きます
Application.Goto Reference:="ファイルを開く"
Sub ExcelFileName()
Dim myOldFile As Variant
Dim Response As Integer
Dim myName As String
Response = MsgBox("Excelファイルを選択してください。", vbOKCancel + vbInformation, "データ移行")
If Response = vbOK Then
'開いたファイルのパスと名前を取得
myOldFile = Application.GetOpenFilename("Excelファイル (*.xls;*.xlsm),*.xls;*.xlsm")
If myOldFile = False Then Exit Sub
Else
Exit Sub
End If
'ファイル名
myName = Mid(myOldFile, InStrRev(myOldFile, "\") + 1)
MsgBox myName
End Sub
このように書いています、しかしこれではExcelファイルは選択できませんでした。
あと列1行1のセルにボタンを作ってそこから起動するようにしたいのですがボタンの作り方がわかりません。
特定の列の数値を0にする、まではまだ考えてないのですがどうすればいいのでしょうか?
No.1ベストアンサー
- 回答日時:
>しかしこれではExcelファイルは選択できませんでした。
ファイルは選択できると思うのですが、開き方がわからないのでは?
とりあえず
MsgBox myName
を
Application.Workbooks.Open myName
にしてみてください。
・別のExcelファイルを開いてその中の指定したシートを別シートに保存する
Sheets.Add After:=ActiveSheet
myName = Mid(myOldFile, InStrRev(myOldFile, "\") + 1)
Application.Workbooks.Open myName
Cells.Copy
ThisWorkbook.Activate
ActiveSheet.Cells.Select
ActiveSheet.Paste
Application.CutCopyMode = False
Workbooks(myName).Close
こんな感じでしょうか。
・セルの値を0クリアする
この意味も分からないのですが
コピーしたシートのUsedRange で0を 空白にするのであれば
Dim r As Range
For Each r In ActiveSheet.UsedRange
If r.Value = 0 Then r.Value = ""
Next
を最後に実行してみてください。
No.2
- 回答日時:
こんにちは。
ちょっと、流れを読んでいたのですが、コードは、見よう見まねというところでしょう。
ただ、ご質問の内容の流れを、完全にマクロ上で再現するには、UserForm上ではないと、できないはずです。
Workbookを開くまではよいにしても、その先、マクロを一旦離れて、任意のシート指定をする方法は、ありません。シート名や位置が決まっていれば、そのまま可能ですが、そこらが煮詰まっていないというところでしょうか。
なお、
myOldFile = Application.GetOpenFilename("Excelファイル (*.xls;*.xlsm),*.xls;*.xlsm")
myName = Mid(myOldFile, InStrRev(myOldFile, "\") + 1)
こう繋がるのは、カレントディレクトリにある場合のみですが、わざわざ、このようなことをする必要はありませんね。
>Sub ファイルを開く()
>' ファイルを開く Macro
>' Excelファイルを開きます
>Application.Goto Reference:="ファイルを開く"
>End Sub
まさか、Ver.4 マクロではないでしょう?
Application.Goto は、セル位置に飛ぶ場合です。
Call マクロ名、または、そのまま、マクロ名を呼び出します。(基本的には、標準モジュールで、Private キーワードがついていないマクロの場合に限ります。)
>ボタンの作り方がわかりません。
開発タブの挿入のフォームコントロールの中から、ボタンを選んで、セル上でドラッグすれば、ボタンになりますから、後は、ダイアログが出ていましたから、一旦、閉じてしまって、マクロを書いてから当たらに登録してください。
列の数値を0にするというのは、
数値があれば、それらは全部0にするなら、こうなります。Error トラップも含めてください。
On Error Resume Next
ActiveSheet.Columns(1).SpecialCells(xlCellTypeConstants, xlNumbers).Value = 0
On Error GoTo 0
>その中の指定したシートを別シートに保存する
よく意味が分かりませんが、同じブックの右に、新しいシートとしてコピーするなら、
ActiveSheet.Copy After:=Worksheets(Worksheets.Count)
というところでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCEL VBA 指定したファイルが...
-
【マクロ】名前を保存する際に...
-
エクセルのシートの数を数えた...
-
フォルダ内のexcelファイルを順...
-
エクセルマクロで不特定なファ...
-
エクセル(マクロ)のファイル...
-
ファイルを開かずにマクロを実行
-
エクセル 複数ファイルの一括...
-
秀丸:あらかじめ設定した複数...
-
データ参照先が別ファイルの場...
-
【Excel VBA】ファイル名が一...
-
Accessのaccdbファイルを起動で...
-
VBA EXCELファイル選択⇒指定セ...
-
accessフォルダを移動したらフ...
-
リンク切れチェックを行うマクロ
-
Excelのマクロについてご教授く...
-
フォルダ内のブック全部にパス...
-
ACCESSのマクロを自動で実行さ...
-
エクセルのxls形式からxlsx形式...
-
ファイルの保存場所を変えたら...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCEL VBA 指定したファイルが...
-
【マクロ】名前を保存する際に...
-
フォルダ内のexcelファイルを順...
-
ファイルを開かずにマクロを実行
-
エクセルマクロで不特定なファ...
-
エクセル(マクロ)のファイル...
-
データ参照先が別ファイルの場...
-
フォルダ内のブック全部にパス...
-
エクセル 複数ファイルの一括...
-
VBAでワークブックの名前を変数...
-
【Excel VBA】ファイル名が一...
-
エクセルのシートの数を数えた...
-
vlookup関数の引数を変数で指定...
-
accessフォルダを移動したらフ...
-
ファイルの保存場所を変えたら...
-
エクセルファイルを開く時、関...
-
Accessのaccdbファイルを起動で...
-
VBA EXCELファイル選択⇒指定セ...
-
秀丸:あらかじめ設定した複数...
-
エクセルのxls形式からxlsx形式...
おすすめ情報
開いたシートのセルに数字が入力されているのですが
これを0にするという意味です。
書き方が悪かったようですね、申し訳ありません。
https://oshiete.goo.ne.jp/qa/9131023.html
補足が長くなりすぎたためこちらで改めて質問させて頂きました。
もしよろしければアドバイスを頂きたいです。
よろしくお願いいたします。