下記のマクロは先日教えていただいたマクロで
作業ブックの指定セル値を別ブックの指定セルにコピー出来るマクロですが
コピー元のセル値を複数指定し、コピー先のセル値も同じく複数指定したいのですが、
コードを下記のように設定しても上手く行きませんでした。
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を見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
ExcelのVBAコードについて教えてください。
Visual Basic(VBA)
-
-
4
現在のブックを閉じないで、マクロ抜きの(現在のブックの)コピーを作成したい
Visual Basic(VBA)
-
5
VBAなくなるの?
Visual Basic(VBA)
-
6
VBAコードについて教えてください。
Visual Basic(VBA)
-
7
ExcelのVBAコードについて教えてください。
Visual Basic(VBA)
-
8
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
9
左右の表のキー位置を合わせたい
Visual Basic(VBA)
-
10
Excel VBA 定義されたプロージャ名、関数名の取得
Visual Basic(VBA)
-
11
VBA 複数条件の分岐処理の上手な方法
Visual Basic(VBA)
-
12
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
13
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
14
VBA一覧取得 再投稿
Visual Basic(VBA)
-
15
vba 削除
Visual Basic(VBA)
-
16
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
17
VBAのコードを教えてください
Visual Basic(VBA)
-
18
ExcelのVBAコードについて教えてください。
Visual Basic(VBA)
-
19
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
20
Sub 要具ライフ() ActiveSheet.Cells.Find(what:=TOPゴム")."
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【VBA】ステータスバーについて...
-
Delphi Form&sourceコピーについて
-
Access VBAから使用したExcelプ...
-
C++言語で、構造体のコピーは可...
-
Listviewに表示された文字のコ...
-
Activesheet.Pasteで困っています
-
DataTableに入っているデータを...
-
OutlookVBAでコピーした文字を...
-
Eclipseのコード入力時の、行コ...
-
シートに張り付けたボタンがシ...
-
Ctrl + Cなど複数の入力キー...
-
エクセルVBA 実行時エラー'...
-
Delphi6 ShowMessage のタイトル
-
ASP.net でコントロールをコピー
-
一行おきに貼り付ける 可能でし...
-
【UWSC】WEBページ内コピーした...
-
文字列の切り出し
-
CSVファイルの特定行の削除
-
デスクトップ画面に「◯◯まであ...
-
TortoiseSVNにおける削除ファイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C++言語で、構造体のコピーは可...
-
Access VBAから使用したExcelプ...
-
マウントしたディスクにcpで、...
-
一行おきに貼り付ける 可能でし...
-
Activesheet.Pasteで困っています
-
Listviewに表示された文字のコ...
-
Eclipseのコード入力時の、行コ...
-
エクセルVBA 実行時エラー'...
-
DataTableに入っているデータを...
-
Ctrl + Cなど複数の入力キー...
-
文字列の切り出し
-
arduino unoからデータを読み出...
-
バッチで当日日付で作成される...
-
jakarta poiを使用し、EXCELの...
-
シートに張り付けたボタンがシ...
-
【UWSC】WEBページ内コピーした...
-
Eclipseでコピーするとき行数な...
-
エクセルのマクロについて教え...
-
Excelでコピーしたセル(テキス...
-
OutlookVBAでコピーした文字を...
おすすめ情報
コードをコピペして指定セルを変更する方法が1番良い方法ですか?
よろしくお願いします