
VBA初心者の私ですが、過去何度がご質問させて頂きまして
「ただの落書きレベル、最初から書き直したほうがいい」
という辛辣な評価を頂きましたので、まずは基礎からと思い改めて書き直しを始めました。
やりたいこととしては、添付画像にボタンを作ってありますが
そこから
1.ボタンを押すと「実行しますか?」とはい、いいえのメッセージボックスを出す。
2.任意のExcelファイルを開く
3.O列の残数をD列に移す
の3つを順番に行いたいです。
現在進行形で初心者ながら調べたりしていますが、やはり理解力に乏しいようで
皆様のお力を借りられればと思い改めてご質問させて頂きます。
現在書いているコードは任意のExcelファイルを開く、というコードでご教示頂きました
'実行前に確認をする
'ここまで
'Excelファイルを任意に選択して開く
Dim myName As Variant
myName = Application.GetOpenFilename("Excelファイル (*.xls;*.xlsm),*.xls;*.xlsm")
If myName = False Then Exit Sub
Application.Workbooks.Open myName
'ここまで
'「本日数」と「残数」の値を0にする
'ここまで
という状態です。
どなたかご教示いただけませんでしょうか。
よろしくお願いいたします。

No.3ベストアンサー
- 回答日時:
こんにちは
ブック間の制御はクセがありますので、参考になればと思いました
※切り替えたとたんに相手ブックに依存するのが面倒なところです
'ここから
Sub test()
Dim myName As Variant
myName = Application.GetOpenFilename("Excelファイル (*.xls;*.xlsm),*.xls;*.xlsm")
If myName = False Then Exit Sub
'ここで相手先ブック名が入力されます(使わせて頂きました)
DIM WB as Workbook
Set WB=Workbooks.Open(myName) 'ここから相手先ブックに制御が移ります
'この間、好きに相手先ブック内を編集できます
'例えば
Cells(1,1)=Cells(2,1)
Cells(2,1)=Cells(2,2)
Cells(3,1)=Cells(2,3)
'など全て相手ブック内で動作します
WB.Close SaveChanges:=true '仕事が終わったら、相手先ブックを保存終了させます(肝心なところ)
Set wB=Nothing 'オブジェクトの開放(忘れずに)
'ここから自ブックの制御に戻ります
End Sub
'ここまで
ブック間の制御は面倒です
では
No.1
- 回答日時:
とりあえず
1は
If MsgBox("実行しますか", vbOKCancel) = vbOK Then
で分岐できると思います。
Sub ボタン1_Click()
Dim myName As Variant
If MsgBox("実行しますか", vbOKCancel) = vbOK Then
myName = Application.GetOpenFilename("Excelファイル (*.xls;*.xlsm),*.xls;*.xlsm")
If myName = False Then Exit Sub
Application.Workbooks.Open myName
’ここに 3 を実行するコード
End If
End Sub
3.O列の残数をD列に移す
とは
Range("D6:D100").Value=Range("O6:O100").Value
みたいな事でしょうか?
回答ありがとうございます。
自分なりに模索してみましたが全くの見当はずれだったようで。
3はO列の数字が入っている行を全てD列の数字が入っている行に移動させるということです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
別ブックをダイアログボックス...
-
エクセルVBAが途中で止まります
-
VBA 実行時エラー 2147024893
-
元データ(ピボッド)を開かずマ...
-
VBA 別ブックからコピペしたい...
-
[Excel]ADODBでNull変換されて...
-
VBAで複数のブックを開かずに処...
-
マクロについて教えてください
-
エクセル共有化のトラブル
-
VBAで別ブックのシートを指定し...
-
VBA アプリケーション定義また...
-
Excelマクロ 該当する値の行番...
-
【VBA】全シートの計算式を全て...
-
VBA コードを実行すると画面が...
-
vbaでvbaProjectのパスワード解...
-
ワイルドカード「*」を使うとう...
-
2つ目のコンボボックスが動作...
-
ACCESSVBA からExcelの他ブック...
-
Excelのマクロコードについて教...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
VBA 別ブックからコピペしたい...
-
別ブックをダイアログボックス...
-
エクセルVBAが途中で止まります
-
ワイルドカード「*」を使うとう...
-
【Excel VBA】書き込み先ブック...
-
VBAで別ブックのシートを指定し...
-
【ExcelVBA】zip圧縮されたCSV...
-
VBAで別のブックにシートをコピ...
-
VBA コードを実行すると画面が...
-
Excel2007VBAファイルの表示に...
-
VBAで複数のブックを開かずに処...
-
[Excel]ADODBでNull変換されて...
-
Excelファイルを開くとき、読み...
-
VBA 実行時エラー 2147024893
-
Excelマクロ 該当する値の行番...
-
Excel にて、 リストボックスの...
-
VBS Bookを閉じるコード
-
複数のエクセルファイルとシー...
-
【ExcelVBA】インデックスが有...
おすすめ情報
'「本日数」と「残数」の値を0にする
というコメントは間違いです、申し訳ありません。