- ベストアンサー
コピー貼り付けのマクロの処理時間の早い方法を教えてください。
pkh4989の回答
- pkh4989
- ベストアンサー率62% (162/260)
こんにちは。 ワークテーブルを利用しましょう。 以下のようにコピー元とコピー先の範囲をワークへ設定してから ワークへ移動するように試してみてください。Rangeは必ず "A1: から Sub Copy() Dim wVal As Variant Dim wVal2 As Variant ' 'コピー元 wVal = Worksheets("Sheet1").Range("A1:Z100") '→wVal(100,26)の2次元テーブルになる '→wVal(100,26)の2次元テーブルにRange("A1:Z100")の内容が設定される 'コピー先 wVal2 = Worksheets("Sheet2").Range("A1:Z100") ' 'A8→C2 wVal2(2, 3) = wVal(8, 1) 'A11→C3 wVal2(3, 3) = wVal(11, 1) 'A14→C4 wVal2(4, 3) = wVal(14, 1) 'A17→C5 wVal2(5, 3) = wVal(17, 1) ' '↓ 'ワークテーブルの内容をシートへ設定 Worksheets("Sheet2").Range("A1:Z100") = wVal2 '又は Worksheets("Sheet2").Range("A1").Resize(100, 26) = wVal2 End Sub
関連するQ&A
- エクセル あるシートから別シートへ貼り付け
どなたかお助け下されば、大変ありがたく存じます! エクセルに関する質問です。 コピー元エクセルシートのセル(B2、B3、B4、B5・・・B100)に数値が入力されています。 その値を、別シートのセル(C2、C25、C48、C71、・・・C2256、C2279)に貼り付けたい場合、 何か良い方法は無いものでしょうか。 貼り付け先となるセルは、等差数列的に決まっており、 フィルタでその指定セル(C2、C25、C48・・・C2256、C2279)を抽出することも可能です。 単純に、貼り付け先セルへ、C2セル「=コピー元シート!$B2」と入力すると、 C25「=コピー元シート!$B25」、C48「=コピー元シート!$B48」・・・となってしまい、 うまく貼り付けることが出来ません。 理想は、 C2セル「=コピー元シート!$B2」、C25「=コピー元シート!$B3」、 C48「=コピー元シート!$B4」、・・・、C2279「=コピー元シート!$B100」としたいのです。 (コピー元)→(貼り付け先) B2 → C2 B3 → C25 B4 → C48 B5 → C71 B6 → C93 ・・・ B99 → C2256 B100 → C2279 何か良い方法があればお教え願えますでしょうか。 どうかよろしくお願い申し上げます!!
- 締切済み
- オフィス系ソフト
- マクロ(エクセルシートコピー先)に関して
分かりましたら教えてください。 A.xlsのシートBを、新しいブックにコピーし移動するときに、そのブック名が、常にそのシートBのセルC3に入力されている文字の名前にするようにマクロを組みました。(....Filename:Range("C3")としています。) さらにC.xlsのシートDもその新しいブックにコピー移動させるマクロを追加したいのですが、コピー先をどのように指定すればいいのでしょうか。。
- ベストアンサー
- オフィス系ソフト
- エクセル(2013)の繰り返し処理マクロについて
以下のような処理をマクロで行いたいのですが、どなたかお詳しい方教えて頂けませんでしょうか。 1.[シート(1)]A1を検索値にする 2.[シート(2)]のB3を範囲指定する。 3.一致しない場合→次行を検索 4.一致する場合、C3をコピーし、[シート(2)]のC10に値で貼り付ける。 5.[シート(2)]のB4を範囲指定する。 6.一致しない場合→次行を検索 7.一致する場合、C4をコピーし、[シート(2)]のC11に値で貼り付ける。 以下B列が空白セルになるまで繰り返し お手数ですが、ご教授頂けますようお願い致します。
- ベストアンサー
- Excel(エクセル)
- エクセルで、条件が揃った時に複数セルをコピーする方法
エクセルのセルに、例えば「○」と入れた時、指定したセルから他のセルへ文字情報がコピーすることはできますでしょうか。 一度にコピーしたいセルは4つほどで、規則性はありますがバラバラに散らばっています。 例えば、 1.シート1のA1セルに「○」と入力 2.シート1のB4内数値⇒シート2のA4セルに。 3.シート1のC6内数値⇒シート2のB4セルに。 4.シート1のD9内数値⇒シート2のC4セルに。 といった感じです。これらの動作を「○」を入れるだけで行いたいんです。 よろしくお願いします。
- 締切済み
- オフィス系ソフト
- セルのデータを、ボタンでコピーさせたいのです
初めて質問させていただきます。 エクセル関数はある程度こなせますが、マクロはほとんど初心者です。 どのようにマクロを記述すれば良いか、わからなくて困っています。 A1のセルにコピー元のデータがあります。 この時、A4にあるボタンを押すと、A1のデータがA3にコピーされます。 またある時は、C4にあるボタンを押すと、A1のデータがC3にコピーされます。 またある時は、D4にあるボタンを押すと、A1のデータがD3にコピーされます。 A B C D E ・・・・・・ 1 100 2 3 100 100 100 4 ■ ■ ■ ■ ■ 5 6 7 ・ ・ ・ あるいは、ボタンを一つにして、B1にあるボタンを押すと A1のデータがA3にコピーされます。またある時は、B1にあるボタンを押すと A1のデータがC3にコピーされます。 A B C D E 1 100 ■ 2 3 100 100 4 5 6 コピー先のセルが少数なら、コピー先のセルを"Range"で指定して、各ボタンに割り付ければ済むのですが、入力するセルが何百とある為、これをいちいち各ボタンに割り付けて、マクロを書いて行くのは、気が遠くなる作業になってしまいます。 ボタンは一個でも、何百個あっても構わないのです。 マクロをどのように記述すれば良いでしょうか。 どうか、アドバイスをお願いします。
- ベストアンサー
- Visual Basic
- Excelマクロについて(セルのコピー)
今、マクロで自動的にセルのデータを別シートに貼り付けるというものを作っています。 Private Sub コピー定義() Worksheets("sheet1").Activate 'sheet1をアクティブにする コピー元行 = 2 コピー先行 = 1 コピー元セル = "A" & コピー元行 コピー先セル = "A" & コピー先行 Worksheets("sheet1").Range(コピー元セル).Copy _ Destination:=Worksheets("sheet2").Range(コピー先セル) End Sub これで、sheet1のA2からsheet2のA1にコピーできるのですが、 Private Sub コピー定義() Worksheets("sheet1").Activate 'sheet1をアクティブにする コピー元行 = 2 コピー先行 = 1 コピー元行 = 2 コピー先行 = 1 コピー元セル = "A" & コピー元行 コピー先セル = "A" & コピー先行 コピー元セル = "B" & コピー元行 コピー先セル = "B" & コピー先行 Worksheets("sheet1").Range(コピー元セル).Copy _ Destination:=Worksheets("sheet2").Range(コピー先セル) End Sub とすると、B2の項目しかコピーされません。複数のセルを一度にコピーするマクロの作り方をご存じの方、ご伝授下さい。
- ベストアンサー
- オフィス系ソフト
- マクロで貼り付けができません。
エクセルのマクロについて質問です。 ある表を「可視セルを選択」→「アクティブ領域を選択」し、コピーした後、別のシートに貼り付けようとしたところ、エラー「コピー領域と貼り付け領域の形が違う為情報を貼り付けることができません」が表示され、貼り付けられませんでした。マクロを作成した時に、同じ形の元データ数種類を使用し動作を確認した時は、貼り付けができました。今回使用した元データと相違する部分を探しましたが、見当たりせんでした。また、貼り付け元・先共に、結合するセルはありません。 解決策はあるのでしょうか?
- 締切済み
- オフィス系ソフト
- エクセルで、コピーに関するマクロ
コピー対象は、例えば、C5に"お"、D5に"は"、E5に"よ"、F5に"う"という感じで、一つのセルに一文字ずつ横に連なるように入力されています。 貼り付ける場所は、例えば、起点をB8にすると、B8に"お"、C9に"は"、D10に"よ"、E11に"う"と、斜め下に連なる形になります。 コピー対象の起点となるセルは毎回違いますが、常に起点と同じ行に一つのセルに一文字ずつ入力されている状態になっており、どこからどこまでをコピー対象にするかは毎回指定することになります。 コピー対象の文字列を構成する個々のセルの中に、空欄のセルが含まれることはありません。また、コピー対象を構成するセルの最後のセルの右隣のセルは、必ず空欄になります。 貼り付ける場所は毎回違います。起点となるセルを指定すると、そのセルから斜め下に連なる形で貼り付けられます。 上記のことができるマクロを教えてもらいたいのですが。
- ベストアンサー
- オフィス系ソフト
- マクロを使ってセルのコピーと貼り付け
A1:D6の表があります。その中の選んだ1つのセルをダブルクリックをして実行させコピーして、G1に貼り付けたいのですが、どのようにマクロを組んだらいいのでしょうか?初心者(はじめて使います)ですので詳しく教えていただけないでしょうか?よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- マクロについて質問です。
office2003を使用しています。 sheet1のデータをコピーし、sheet2の表にsheet1のデータを張り付けるマクロを作成して欲しいと言われました。 ・コピー元のsheet1はセルの結合が有ったり無かったりの表データになってます。 ・貼り付け先のsheet2はセルの結合が無い表です。 ・sheet1からsheet2への貼りつけは全てではなく、抜粋されたデータになります。 ・貼り付け先の列も変わっています。 ・sheet2には数式が入った列が加わり、小数点第二位表示です。セルの書式は右寄せや中央、桁区切りがあります。 ・sheet1は可変データです。 2~3位で終わるのもデータの時もあれば20まであったりする時もあります。 sheet2の表の罫線はデータの分だけ引きたいと思っています。 マクロは初心者同然で自動マクロ程度のレベルです。 わかりにくい説明で申し訳ありませんがご教授ねがいます。 sheet1 A B C D E F G 1 No. 名前 上)住所 年齢 商品 金額 担当者 下)電話 2 秋田 1 アイウエオ 20 A 10,000 タナカ 3 123456 4 鹿児島 35 D 15,000 ヨシダ 2 カキクケコ 5 987654 ※sheet1はC列以外の2・3、4・5行はセルが結合されています。 2行で1人のデータになります。 ↓コピー貼りつけをする sheet2 A B C D E F G 1 No. 担当者 名前 住所 商品 金額 原価 2 1 タナカ アイウエオ 秋田 A 10,000 7,500.00(数式が入っている) 3 2 ヨシダ カキクケコ 鹿児島 D 15,000 6,800.00
- ベストアンサー
- オフィス系ソフト
お礼
回答ありがとうございます。 速いですね~。 勉強になります。