下記のマクロは先日教えていただいたマクロで
作業ブックの指定セル値を別ブックの指定セルにコピー出来るマクロですが
コピー元のセル値を複数指定し、コピー先のセル値も同じく複数指定したいのですが、
コードを下記のように設定しても上手く行きませんでした。
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.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
は、この場合意味がないので、削除しても問題ありません。
No.2
- 回答日時:
状況が良くわかりませんので補足部分だけ。
多分コードが異常に増えるでしょうから、変更したい箇所についてFor Eachで行なうか別途関連リスト表を作成したシートから情報を得るのが楽じゃないかな?
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
などで見易さや簡素化も役立つものです。
お探しの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を見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
ExcelのVBAコードについて教えてください。
Visual Basic(VBA)
-
-
4
現在のブックを閉じないで、マクロ抜きの(現在のブックの)コピーを作成したい
Visual Basic(VBA)
-
5
ExcelのVBAコードについて教えてください。
Visual Basic(VBA)
-
6
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
7
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
8
左右の表のキー位置を合わせたい
Visual Basic(VBA)
-
9
Excel VBA 定義されたプロージャ名、関数名の取得
Visual Basic(VBA)
-
10
VBA 複数条件の分岐処理の上手な方法
Visual Basic(VBA)
-
11
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
12
VBAのコードを教えてください
Visual Basic(VBA)
-
13
エクセルの合計を自動で表示させたいです
Visual Basic(VBA)
-
14
テキストファイルのファイル名を抽出してBAT処理する方法はありますか。
その他(プログラミング・Web制作)
-
15
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
16
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
17
Sub 要具ライフ() ActiveSheet.Cells.Find(what:=TOPゴム")."
Visual Basic(VBA)
-
18
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
19
ExcelのVBAコードについて教えてください。
Visual Basic(VBA)
-
20
VBAに詳しい方教えてください。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access VBAから使用したExcelプ...
-
エクセルVBA 実行時エラー'...
-
arduino unoからデータを読み出...
-
マウントしたディスクにcpで、...
-
Ctrl + Cなど複数の入力キー...
-
エクセルのマクロについて教え...
-
C++言語で、構造体のコピーは可...
-
Eclipseでコピーするとき行数な...
-
Debug版とRelease版で結果が変わる
-
プログラムについて。
-
Delphi Form&sourceコピーについて
-
文字列の切り出し
-
Subversionで作業一段落の作業...
-
Activesheet.Pasteで困っています
-
一行おきに貼り付ける 可能でし...
-
彼女の過去の恋愛に嫉妬してし...
-
zip.001 zip.002 zip.003といっ...
-
".svn-base"という拡張子の追加...
-
デスクトップ画面に「◯◯まであ...
-
「このファイルを開く前に常に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access VBAから使用したExcelプ...
-
エクセルのマクロについて教え...
-
DataTableに入っているデータを...
-
Eclipseのコード入力時の、行コ...
-
C++言語で、構造体のコピーは可...
-
プログラムについて。
-
エクセルVBA 実行時エラー'...
-
Ctrl + Cなど複数の入力キー...
-
マウントしたディスクにcpで、...
-
Activesheet.Pasteで困っています
-
一行おきに貼り付ける 可能でし...
-
Listviewに表示された文字のコ...
-
文字列の切り出し
-
arduino unoからデータを読み出...
-
シートに張り付けたボタンがシ...
-
ブラウザからコピペすると文字...
-
ROBOCOPYをスペース付きのフォ...
-
バッチで当日日付で作成される...
-
jakarta poiを使用し、EXCELの...
-
ACCESS VBAでExcelを開き行をコ...
おすすめ情報
コードをコピペして指定セルを変更する方法が1番良い方法ですか?
よろしくお願いします