![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?08b1c8b)
下記のマクロは先日教えていただいたマクロで
作業ブックの指定セル値を別ブックの指定セルにコピー出来るマクロですが
コピー元のセル値を複数指定し、コピー先のセル値も同じく複数指定したいのですが、
コードを下記のように設定しても上手く行きませんでした。
Book1の値をコピー
ThisWorkbook.Sheets("1").Range("F10,F12").Copy
'Book2に値貼り付け
Workbooks("【連動版】行政報告チェックリスト(戸建て).xlsm").Sheets("建築物(確認申請)(第1号様式)").Range("C1,E4") = ThisWorkbook.Sheets("1").Range("F10,F12").Value
解決方法を教えてください。
現行のマクロ
Sub 新行政報告にコピー()
'コピー先のファイルを開く
Workbooks.Open ThisWorkbook.Path & "\【連動版】行政報告チェックリスト(戸建て).xlsm"
'Book1の値をコピー
ThisWorkbook.Sheets("1").Range("F10").Copy
'Book2に値貼り付け
Workbooks("【連動版】行政報告チェックリスト(戸建て).xlsm").Sheets("建築物(確認申請)(第1号様式)").Range("C1") = ThisWorkbook.Sheets("1").Range("F10").Value
Workbooks("【連動版】行政報告チェックリスト(戸建て).xlsm").Save
Workbooks("【連動版】行政報告チェックリスト(戸建て).xlsm").Close
End Sub
No.3ベストアンサー
- 回答日時:
直接、本件の質問とは関係ありませんが、
ブック名、及びシート名で長い名前があると、それを何回も使う場合などは
マクロが横に長くなり、冗長的になってしまいます。
以下のようにすると、マクロがすっきりし、簡単になります。
Sub 新行政報告にコピー2()
'コピー先のファイルを開く
Dim wbk2 As Workbook
Set wbk2 = Workbooks.Open(ThisWorkbook.Path & "\【連動版】行政報告チェックリスト(戸建て).xlsm")
'Book2に値貼り付け
Dim wsh1 As Worksheet
Dim wsh2 As Worksheet
Set wsh1 = ThisWorkbook.Sheets("1")
Set wsh2 = wbk2.Sheets("建築物(確認申請)(第1号様式)")
wsh2.Range("C1") = wsh1.Range("F10").Value
wsh2.Range("E4") = wsh1.Range("F12").Value
wbk2.Save
wbk2.Close
No.4
- 回答日時:
コードを記載する際に、
コード中の改行
https://ribbit.konomi.app/vba/line-break/
Withって何ですか?
http://officetanaka.net/excel/vba/beginner/16.htm
などで見易さや簡素化も役立つものです。
No.2
- 回答日時:
状況が良くわかりませんので補足部分だけ。
多分コードが異常に増えるでしょうから、変更したい箇所についてFor Eachで行なうか別途関連リスト表を作成したシートから情報を得るのが楽じゃないかな?
No.1
- 回答日時:
素直に
Workbooks("【連動版】行政報告チェックリスト(戸建て).xlsm").Sheets("建築物(確認申請)(第1号様式)").Range("C1") = ThisWorkbook.Sheets("1").Range("F10").Value
Workbooks("【連動版】行政報告チェックリスト(戸建て).xlsm").Sheets("建築物(確認申請)(第1号様式)").Range("E4") = ThisWorkbook.Sheets("1").Range("F12").Value
と2行分(2つのセル分)、書くのが良いかと思います。
もし、転記元、転記先のセルが10以上とかで、かなり多いなら
以下の方法でも可能です。(例では2つのセルの場合)
Dim rg1str As Variant: rg1str = "C1,E4"
Dim rg2str As Variant: rg2str = "F10,F12"
Dim rg1tbl As Variant: rg1tbl = Split(rg1str, ",")
Dim rg2tbl As Variant: rg2tbl = Split(rg2str, ",")
Dim i As Long
For i = 0 To UBound(rg1tbl)
Workbooks("【連動版】行政報告チェックリスト(戸建て).xlsm").Sheets("建築物(確認申請)(第1号様式)").Range(rg1tbl(i)).Value = ThisWorkbook.Sheets("1").Range(rg2tbl(i)).Value
Next
尚、以下の
ThisWorkbook.Sheets("1").Range("F10").Copy
は、この場合意味がないので、削除しても問題ありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/01/26 09:50
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/01/26 12:00
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/01/27 13:15
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2024/04/02 16:12
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2024/04/01 17:53
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/21 13:29
- Excel(エクセル) 【マクロ】コピーでは、ブックまで指定するのとシートまで指定する違いは? 3 2023/09/08 12:08
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・【大喜利】【投稿~1/31】『寿司』がテーマの本のタイトル
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access VBAから使用したExcelプ...
-
一行おきに貼り付ける 可能でし...
-
C++言語で、構造体のコピーは可...
-
DataTableに入っているデータを...
-
マウントしたディスクにcpで、...
-
Listviewに表示された文字のコ...
-
Excelでコピーしたセル(テキス...
-
エクセルVBA 実行時エラー'...
-
Hoge a = Hoge();はどうしてよ...
-
jakarta poiを使用し、EXCELの...
-
JP1の質問です。
-
ブラウザからコピペすると文字...
-
文字列の切り出し
-
CStringArray[2]のコピー
-
Eclipseのコード入力時の、行コ...
-
arduino unoからデータを読み出...
-
他プロジェクトのFormを自プロ...
-
c++ builder6 PaintBoxについて
-
Ctrl + Cなど複数の入力キー...
-
Delphi6 ShowMessage のタイトル
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access VBAから使用したExcelプ...
-
C++言語で、構造体のコピーは可...
-
マウントしたディスクにcpで、...
-
Ctrl + Cなど複数の入力キー...
-
一行おきに貼り付ける 可能でし...
-
Activesheet.Pasteで困っています
-
文字列の切り出し
-
DataTableに入っているデータを...
-
arduino unoからデータを読み出...
-
バッチで当日日付で作成される...
-
Listviewに表示された文字のコ...
-
Eclipseのコード入力時の、行コ...
-
ROBOCOPYをスペース付きのフォ...
-
他プロジェクトのFormを自プロ...
-
シートに張り付けたボタンがシ...
-
jakarta poiを使用し、EXCELの...
-
【UWSC】WEBページ内コピーした...
-
Excelでコピーしたセル(テキス...
-
エクセルVBA 実行時エラー'...
-
Eclipseでコピーするとき行数な...
おすすめ情報
コードをコピペして指定セルを変更する方法が1番良い方法ですか?
よろしくお願いします