補足含めて改めて投稿させていただきます。
ExcelのVBAで画像のように4個のレイアウトから6個のレイアウトの別ブックへ
番号を基準に赤枠内の関連するデータを転記したいです。
それぞれの番号ごとに「種類」「担当者」「個別ランク」「今回総評」「前回総評」「備考」という項目があり、
4個レイアウトのワークブック「下書き.xlsx」の"Sheet1" から 6個レイアウトのワークブック「清書.xlsx」の"評価1"にデータを転記。
転記元の「下書き.xlsx」の"Sheet1"の画像を添付させていただきます。
元データのならび
1 2
3 4
を↓
1 2 3
4 5 6
と並びかえの上、対応する項目を転記したいです。
転記元のシートレイアウトはA1:R23の範囲を1ページとして100ページ強あります。
(余白の行やセルあり)
また、画像添付が1枚しかできないのでテキストでの説明になってしまいますが
転記先のワークブック「清書.xlsx」の"評価1"のレイアウトはA1:Z23の範囲が1ページとなります。
ご教授よろしくお願いいたします。
No.8
- 回答日時:
>「番号」の初期位置はB3になります。
番号の位置は
1ページ目:3行
2ページ目:26行
3ページ目:49行
以降省略
上記で間違いないでしょうか。そうであれば、そのようにマクロを修正します。
No.7
- 回答日時:
最初、1ページの番号の位置は、3行目(B3)と思っていましたが、
あなたからの補足で
>1ページ目は1行目から開始となりまして、23行(余白行)で終了します。
と返信がありましたので、
番号の位置は1行目(B1)として、マクロを作成しております。
私の認識不足で申し訳ありません。
「ページの先頭」という意味で余白行のB1をお伝えしてしまっていました。
tatsumaru77様のご認識が正しいです。
「番号」の初期位置はB3になります。
この場合、
'転記元のページ番号、ページ内番号から転記元の行番号、列番号を取得する
のRowの値を変更すればよいのでしょうか?
何度も申し訳ありません。
No.5
- 回答日時:
>実行すると、
>「 転記元 1ページ先頭が"番号"でない 」と表示されます。
>いただいたコードにも”最大ページ番号を探す”の部分で上記メッセージの指>定をされていますが
>これは見出しセル"番号"がB1にすれば良いのでしょうか。
はい。B1セルに"番号"の文字がない場合、そのメッセージがでます。
B1:C1のセルが、結合されていますが、その結合されたセルに、
番号の文字がないという意味です。
No.4
- 回答日時:
下記URLへアップしました。
標準モジュールへ登録してください。
https://ideone.com/lP8fVi
簡単な動作確認のみ行っています。
不明点、不具合などがあれば補足してください。
B4:G10の項目名が不明なので、48行のコメントは"名称不明"にしてあります。
そこは、修正しておいてください。
No.3
- 回答日時:
補足ありがとうございました。
不明点の追記です。
1.転記元のブック(下書き.xlsx)は、開いている状態で、マクロを実行するのでしょうか。それとも、閉じている転記元のブックをマクロがオープンするのでしょうか。
2.上記1で、マクロが閉じている転記元のブックをオープンする場合ですが、転記元ブックは転記先ブックと同じフォルダ内にありますか。それとも、別のフォルダに格納されているのでしょうか。
こちらこそ、早速のご確認ありがとうございます。
1,転記元のファイルについて。
A.現状ではどちらも開いている状態でマクロを実行致します。
2.それぞれのファイルの格納場所について。
A. 別フォルダになります。
No.2
- 回答日時:
こんばんは
不明点は勝手に想定しました。
・各ブックの説明がないので、両ブックとも開いている状態でVBAを
実行するものと仮定しましたす。
・転記先のシートのセル幅等は、設定してあるものと仮定します。
また、結合等はない状態と仮定しています。
(転記元と同じレイアウトで結合がされている場合は、問題ありません)
(転記先を再設定したい場合は、後に示すコードを追加してください)
・10×8のセル範囲を単位としてコピペを繰り返すコードになっています。
書式や罫線もコピペされますが、元シートの罫線の引き方によっては、
罫線が外側のセルに属していると、コピペされないことがあり得ます。
(そのような場合には、コピペ後に外側の罫線だけ引き直せば良いです。)
・転記先シートは、一旦、値をクリアされます。
Sub Q13936062()
Dim ws As Worksheet, wsd As Worksheet
Dim n As Long, i As Long
Set ws = Workbooks("下書き.xlsx").Worksheets("Sheet1")
Set wsd = Workbooks("清書.xlsx").Worksheets("評価1")
' 転記先シートのセル幅等の設定が必要ならここに追加
wsd.Cells.ClearContents
n = ws.Cells(Rows.Count, 2).End(xlUp).Row
For i = 0 To Int((n - 3) / 23) * 4 - (((n + 20) Mod 23) > 9) * 2 + 1
GetPos(i, 2, ws).Copy GetPos(i, 3, wsd)
Next i
End Sub
Function GetPos(ByRef n, ByRef base, ByRef s) As Range
Set GetPos = s.Cells(Int(n / base) * 10 + Int(n / base / 2) * 3 + 3, _
(n Mod base) * 8 + 2).Resize(10, 8)
End Function
※ 転記先のシートを再設定したい場合は、上記の
' 転記先シートのセル幅等の設定が必要ならここに追加
の部分に、以下のコードを追加してください。
With wsd
ws.Cells.Copy .Cells
.Columns("B:I").Copy .Columns("R:Y")
.Cells.UnMerge
.Cells.Interior.Color = xlNone
.Cells.Borders.LineStyle = xlNone
End With
No.1
- 回答日時:
不明点です。
1.ブック名、シート名は下記で間違いないでしょうか。
①転記元:下書き.xlsx シート名:Sheet1
②転記元:清書.xlsx シート名:評価1
2.マクロは、どのブックに格納しますか。
①転記元ブック
②転記先ブック
③上記以外のブック
①②③のどれになりますか。①②を選んだ場合、そのブックの拡張子は.xlsmになります。
3.1つの番号の転記データは、添付の画像の黄色のセルの個所で良いですか。
B3:C3の"番号"
F3:G3の"個別ランク"などの見出しは転記しませんが、良いですか。
4.転記先には、転記元のセルの文字列のみを転記しますが良いですか。
マクロでは、転記先のセルに罫線を引くことや、転記先のセルを結合セルにすることはしません。
マクロ実行前に、既にそのようになっている前提ですが宜しいでしょうか。
5.転記元のレイアウトですが、4つの番号分を1ページとすると、以下の内容で間違いないでしょうか。
①1ページは3行から開始する。
②2ページ以降は、3行分開けて始まる。
2ページ:26行目から開始
3ページ:49行目から開始
4ページ:72行目から開始
:
100ページ:2280行目から開始
各ページの開始行は以下の式で計算される。
開始行=(ページ番号-1)*23+3
6.転記先のレイアウトですが、以下の内容であってますか。
転記元と同じ基準で作成すると考え、以下のようになると、推測します。
①1 2 3はB列~Y列とする。
②6つの番号分を1ページとすると、
・1ページは3行目から開始
・2ページ以降は3行分開けて始まる。
2ページ:26行目から開始
3ページ:49行目から開始
4ページ:72行目から開始
:
100ページ:2280行目から開始
7.転記元の転記を行う最大ページ数の決定は以下のようにしますが宜しいでしょうか。
表内(添付図の黄色のセル)に実データがあるかどうかにかかわらず、
最大のページがあるところまでを、転記する。したがって、実データがないページは空のデータが
転記される。
最大のページの決定は、B列に"番号"の文字が書かれている行の最大行のところを最後のページとする。
以上、補足をお願いします。
詳しくご確認いただきありがとうございます。
確認すべき事項についても学ばせていただいております。
以下、それぞれに補足させていただきました。
お手数おかけしますが、よろしくお願い致します。
==========
1.ブック名、シート名について。
A.間違いありません。
2.マクロの格納先について。
A .②の転機先、清書.xlsm シート名:評価1 に格納したいです。
3.1つの番号の転記データは、添付画像の黄色セルの個所で良いか。
A. はい。黄色セルの情報だけで大丈夫です。見出しの転記は不要です。
4.転記先には、転記元のセルの文字列のみを転記するが良いか。
A.はい。転記先のシートはテンプレートとして罫線や結合セルなどのレイアウト、表示形式などの設定は完了しております。
5.転記元のレイアウトについて。
A. 説明不足かつ画像の指示も曖昧で申し訳ありません。
1ページ目は1行目から開始となりまして、23行(余白行)で終了します。
2ページ目は24行目から開始となります。
6.転記先のレイアウトについて。
①1 2 3はB列~Y列とする
A. はい。ご推察の通りで合っております。
②6つの番号分を1ページとすると、
・1ページは3行目から開始
・2ページ以降は3行分開けて始まる。
A. これは「5」の補足と同様で1ページ目は1行目から開始となり、23行(余白行)で終了します。
2ページ目は24行目から開始となります。
7.転記元の転記を行う最大ページ数の決定について。
表内(添付図の黄色のセル)に実データがあるかどうかにかかわらず、
最大のページがあるところまでを、転記する。したがって、実データがないページは空のデータが
転記される。
最大のページの決定は、B列に"番号"の文字が書かれている行の最大行のところを最後のページとする。
A. はい。そのような挙動であると助かります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
カンパ〜イ!←最初の1杯目、なに頼む?
飲み会で最初に頼む1杯、自由に頼むとしたら何を頼みますか? 最初はビールという縛りは無しにして、好きなものを飲むとしたら何を飲みたいですか。
-
家・車以外で、人生で一番奮発した買い物
どんなものにお金をかけるかは人それぞれの価値観ですが、 誰もが一度は清水の舞台から飛び降りる覚悟で、ちょっと贅沢な買い物をしたことがあるはず。
-
メモのコツを教えてください!
メモを取るのが苦手です。 急いでメモすると内容がごちゃごちゃになってしまったり、ひどいときには全く読めない時もあります。
-
昨日見た夢を教えて下さい
たまにすごいドラマチックな夢見ること、ありませんか? 起きてからも妙に記憶に残っているような、そんな夢。
-
高校三年生の合唱祭で何を歌いましたか?
大人になると大人数で合唱する機会ってないですよね。 思い出すと、高校三年生の合唱祭が最後でした。 そこで、みんなの思い出の合唱曲を知りたい!
-
年間の医療費のデータがあり、月々の集計をする計算式を教えていただけませんか
Excel(エクセル)
-
エクセルの関数ついて
Excel(エクセル)
-
Excelで<a>,<b>の入ったセルをcountifすると動作がおかしい。なぜ?
Excel(エクセル)
-
-
4
excelファイルの内容検索
Excel(エクセル)
-
5
Excelの計算で差分を求める場合について
Excel(エクセル)
-
6
8:40までの出勤は全て8:30にする関数を教えて下さい!!
Excel(エクセル)
-
7
エクセル初心者です 用語とか良く分からないので簡単に説明していただけると幸いです 表を作っているので
Excel(エクセル)
-
8
エクセルで日付の入ったセルの月別の個数が知りたい
Excel(エクセル)
-
9
EXCELのページを、枠線を維持したまま印刷する方法をありませんか?
Excel(エクセル)
-
10
Excelの数式の効率化について
Excel(エクセル)
-
11
【マクロ】Ifとwith ステートメントにて分からない部分があります
Excel(エクセル)
-
12
Excelで数値を時間数に変換する関数について
Excel(エクセル)
-
13
複数のテキストファイルをexcelでそれぞれ別シートにUTF-16で書き出したい
Excel(エクセル)
-
14
【Excel VBA】 テキストファイルを、特定文字列で改行を入れてExcelに一行ずつ出力
Excel(エクセル)
-
15
エクセルマクロについて教えて下さい。
Excel(エクセル)
-
16
45490がどうして
Excel(エクセル)
-
17
excelVBAについて。
Excel(エクセル)
-
18
条件付き書式の効率的な設定の仕方について
Excel(エクセル)
-
19
excelVBAについて。
Excel(エクセル)
-
20
エクセルの神よ、ご回答を! エクセルのコメント欄について質問2点。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで合計を求めたいです
-
Excelの警告について
-
excelVBAについて。
-
エクセルの数式が分かりません
-
エクセル2021 範囲指定印刷をす...
-
11ケタの数字を打つと、エク...
-
Excelで、毎月の月曜と金曜の合...
-
vbe でのソースコード参照(msgb...
-
エクセル初心者です 用語等まだ...
-
【マクロ】メッセージボックス...
-
excelVBAについて。
-
エクセル初心者です 用語とか良...
-
エクセルの関数ついて
-
【マクロ】複数の日付データをY...
-
Excelのセルの色を変えた行(す...
-
excelVBAについて。
-
excelVBAについて。
-
excelVBAについて。
-
条件付き書式の効率的な設定の...
-
IF 日付範囲に入っていたら
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの警告について
-
エクセルの数式バーのフォント...
-
【Excel】日付に連動してプルダ...
-
【再投稿】レイアウトが異なる...
-
Excelについて教えてください ...
-
同率順位の発生しないランキン...
-
エクセルマクロについて教えて...
-
【Excel VBA】 テキストファイ...
-
Excel 標準フォントについて教...
-
Excelの計算で差分を求める場合...
-
Excelの区切り文字について質問...
-
大容量があつかえるソフトを探...
-
エクセルの計算式について(COU...
-
エクセルについて
-
今までは、 「CSVの出力先を選...
-
Excel ショートカットで列、行...
-
8:40までの出勤は全て8:30に...
-
if関数。半角文字や全角文字で...
-
エクセルの関数
-
毎週追加して行くセルの数値を...
おすすめ情報
すみません、、、回答へのお礼に記入してしまいましたが
こちらに記入しなければいけなかったのですね。。。
不慣れで申し訳ありません。
本当に詳しくありがとうございます!
早速試させていただいたのですが、
実行すると、
「 転記元 1ページ先頭が"番号"でない 」と表示されます。
いただいたコードにも”最大ページ番号を探す”の部分で上記メッセージの指定をされていますが
これは見出しセル"番号"がB1にすれば良いのでしょうか。
すみません、、、基本的な意味についても理解が浅く恐縮なのですが
ご指摘いただけますと幸いです。
ありがとうございます。
>番号の位置は
1ページ目:3行
2ページ目:26行
3ページ目:49行
以降省略
はい。間違いありません。
お手間かけますがよろしくお願いいたします。