- 締切済み
【VBA】シートをコピー→任意セル値をシート名に
大変お世話になります。 【Excel VBA】は全くの初心者です。 付け焼刃な質問がよろしくないことは重々承知しております。 が、どうしても『今』必要なため、皆さまのお知恵をお借りしたく 質問させていただきます。 このような動作をさせたい場合の、具体的なコードをご教示いただけませんでしょうか。 ------------------------------ 組みたいマクロ ------------------------------ (1)数式が入った【原紙】Sheetの[B2~AA40]を、 同一ブック内の新規Sheetへ形式ごとコピー。 (2)(1)の新規Sheetの名前を、同シート内[B5]の入力値に変更。 < 補 足 > ◎(1)で新規Sheetへコピーする際、数式は不要です。 ◎(1)でコピーする新規Sheetは任意の複数枚で、 名前となる[B5]値は重複しない予定です。 ◎(1)でコピーされる位置は、【原紙】Sheetの前を想定していますが、 最後尾への追加に変更になった場合は、どこを変更したらよいかも 併せてご教示いただけますと大変ありがたいです。 質問の仕方も、このような感じで伝わるのか不安なまま記載しています。 情報として不足がありましたら、そちらもご教示いただけますと有難いです。 よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- masnoske
- ベストアンサー率35% (67/190)
[マクロの記録]を使って記録されたコードを開示すれば、的確な回答を得られると思います。
- imogasi
- ベストアンサー率27% (4737/17069)
初心者なのに、「マクロの記録」はどうした? シートのコピーをする、操作を1例(1シート)行う。その際、マクロの記録モードにして、操作する。 操作中に、選択する選択(条件)はあまり気にせず、複雑にせず、やさしそうな普通のニーズでやる。 そしてそのコードを1行ずつ見て、意味(効果)を考えて(コード行ー結果の対応)、今回のやりたい場合は、こうしたい(こう変えたい、機能が漏れている、余分など)を、文章でメモって考える。その後 WEB照会の「検索語」を工夫して、照会し、よさそうな記事を見つけて読み、 そこで行きずまったら、ここへ質問するものだ。 この程度のことで、「マクロの記録」の方法も思いつかないようでは、初期段階の、学習方法が誤っている。 ーー >同シート内[B5]の入力値に・・ シート名のNameに対し、Range("b5").Value で済む話 ーー >(コピー貼り付けで)数式はいらない。? 「VBA コピー 数式は省く」で照会ーー>行き着いた記事 ー>形式を選択して貼り付ける(PasteSpecialメソッド https://www.moug.net/tech/exvba/0050104.html 多にもたくさん記事在り。 === さらに学習を進めると、マクロの記録が取れないとか、カバーできない、分野になるが、ずっとマクロの記録は、VBA学習を助けてくれる。
お礼
ご教示、ありがとうございました。 わたくしの理解力、取り組み方に問題がありました。 大変申し訳ございません。 こちらを締切り、別で改めて質問させていただきます。 ご迷惑をお掛けしました。 ありがとうございました。
- kkkkkm
- ベストアンサー率66% (1719/2589)
> ◎(1)で新規Sheetへコピーする際、数式は不要です。 数式もコピーしないとそこに何か計算結果あっても空白になりますし、コピーしたシートでの計算ができませんがいいのですか? > ◎(1)でコピーする新規Sheetは任意の複数枚で、 > 名前となる[B5]値は重複しない予定です。 【原紙】Sheetが複数枚あるという事ですか? その【原紙】Sheetはどのように判別するのでしょう? とりあえず 【原紙】Sheetという名前のシートを直前にコピーして名前をB5のデータにしてB2~AA40を同じところにコピーというだけのコードです。 Sub Test() Worksheets.Add Before:=Sheets("【原紙】Sheet") ActiveSheet.Name = Sheets("【原紙】Sheet").Range("B5").Value Sheets("【原紙】Sheet").Range("B2:AA40").Copy Sheets(Sheets("【原紙】Sheet").Range("B5").Value).Range("B2:AA40") End Sub 最後尾でしたら Worksheets.Add After:=Sheets(Worksheets.Count)
お礼
ご教示、ありがとうございました。 わたくしの質問の仕方、表現の仕方に問題がありました。 大変申し訳ございません。 こちらを締切り、別で改めて質問させていただきます。 お手数をお掛けしました。 ありがとうございました。
お礼
ご教示、ありがとうございました。 わたくしの質問の仕方、表現の仕方に問題がありました。 大変申し訳ございません。 こちらを締切り、別で改めて質問させていただきます。 お手数をお掛けしました。 ありがとうございました。