• ベストアンサー

エクセルのコピーについてご教示下さい。

harapeco7の回答

  • harapeco7
  • ベストアンサー率54% (33/61)
回答No.3

>ボタンひとつでコピーするようにしたいのですが出来るでしょうか。 こういった質問をする場合、マクロ(VBA)についてどのぐらい知識が あるのか添えて頂けると回答側としては助かります。 極端な話、Q.エクセルの「マクロ(VBA)」といった機能を使うと出来ます。 となってしまいます。 今回はコードの記述ついて回答します。 ※バックアップを取ってから実行して下さい。 ※貼り付け先の領域にデータが既に入っていても上書きします。 Sub test()   Dim sh1 As Worksheet   Dim sh2 As Worksheet   Dim ran As Range   Dim hi As Date   Set sh1 = Worksheets("シートA")   Set sh2 = Worksheets("シートB")   hi = sh1.Range("B4")   Set ran = sh2.Columns(4).Find(hi)   If Not ran Is Nothing Then     sh1.Range("C5:E10").Copy ran.Offset(1, 1)   Else     MsgBox "同じ日付無し"   End If   Application.CutCopyMode = False   Set sh1 = Nothing   Set sh2 = Nothing   Set ran = Nothing End Sub

hijtxa
質問者

補足

昨夜は、早速のご教示ありがとうございました。 私は、マクロは、お教えいただいたものを本に添って標準モジュールに貼り付け使用する程度の素人です。 よろしく、お願いいたします。 早速、使用してみると、何度か日付を変えてやっている間に、途中から同じ日付があるのに、無しとでるようになりますが、日付の入力の仕方など、注意点があるのでしょうか。 特に、日付の書式を変えたようなことはしていませんが、一度無しと出ると、何度しても同じようになります。 よろしく、お願いいたします。

関連するQ&A

  • エクセルでの比較データコピー

    エクセル2010でマクロを組んでデータ処理を簡単に行いたいのですが、 よくわからないので、教えてください! シート2のC列とシート1のD列を比較し、同じ文字列があった場合に シート2のE列をシート1のF列にコピーする。 ただし、シート2のE列に〇が入っている場合は、シート2のG列をシート1のF列にコピーする。 どなたかご教示いただけませんか? よろしくお願いします!

  • VBA 今日の行にあるセル コピー 別シートへ

    (1)sheet1にボタン button1 があり、そのボタンを押すと、マクロが起動する。 (2)データは sheet2 貼り付け先は sheet3 sheet2 F列に日付が入っています。   F列は、日付(過去~本日まで ※未来の日付はありません)か、空白の場合があります。 F列の日付が本日のとき、 sheet2 A列のセルの値を sheet3 B列へ。  A列には連番。 sheet2 D列のセルの値を sheet3 C列へ。 sheet2 G列のセルの値を sheet3 D列へ。 sheet2 F列のセルの値を sheet3 E列へ。 それぞれ、Sheet3の各行の一番下に貼り付ける形をとりたいのです。 こちらでマクロはどうしたらよいのでしょうか。

  • VBA 他シートを参照しているセルのコピー

    お世話になります。 以下のシートがあります。 [sheet a]    A     B        C      D     E 1 2004 2005 2006 2007 2008 2 =b!A2 =b!C2 =b!E2 =b!G2 =b!I2 3 10 15 16 4 11 4 12 30 20 9 2 5 =SUM(A3:A4) =SUM(B3:B4) =SUM(C3:C4) =SUM(D3:D4) =SUM(E3:E4) [sheet b] A B C D E  F G H I J 2004 2005 2006 2007 2008 1 あ1 い1 う1 え1 お1 か1 き1 く1 け1 こ1 2 あ2 い2 う2 え2 お2 か2 き2 く2 け2 こ2 ・・・・・・・・・ [sheet a]F列以降に入れるデータは、VBA(マクロ)を使って、別のブックから取り出しています。 (例) F1…=E1+1(E1の数式をコピー) F3,F4…任意の値(別のブックからコピー) F5…=SUM(F3:F4)(E5の数式をコピー) 1行目,5行目の場合は左のセルをコピーして数式を貼り付けると、列が自動的に列が変わりますが、2行目の場合は元のシートを1行おきに参照しているので、単純にコピーしただけでは正しい数式が入りません。 2行目の参照をVBAで作るには、どのようにしたらいいでしょうか。 よろしくお願いします。

  • エクセル 縦コピー

    横1列に並んでいるデータを関数式で縦に連続コピーするだけでひらうようにしたいのですが、お知恵をお貸しください。 |___| A | B | C | D | E | F | G | | 1 | F | Q | S | W | Z | R | P | | 2 |__ |__ |__ | | 3 |__ |__ |__ | | 4 |__ |__ |__ | | 5 |__ |__ |__ | | 6 |__ |__ |__ |

  • テキストファイルのデータをエクセルへコピーのやり方

    よろしくお願いします。 エクセル2000を使っています。 テキストのデータで A1/B1/C1    /はスペースです。 D1/E1/F1    データの長さは全部違います。 A2/B2/C2     D2/E2/F2 A3/B3/C3     D3/E3/F3      ・    ・(続く) といったものがあります。これをエクセルで    A列 B列 C列 D列 E列 1行 A1 B1 C1 D1 E1 2行 A2 B2 C2 D2 E2  ・・・ 3行 A3 B3 C3 D3 E3  (続く)          ・          ・(続く) という感じで別々のセルにいれて貼り付けしたいのです。 テキストデータを別々のセルに貼り付けする方法は 過去ログで「区切り位置」というのをつかえばいいというのはわかりましたが、この場合の複数行にわたるテキストデータをエクセルの1行に貼り付けする方法がわかりません。また、データの長さが違うために「区切り位置」もうまくいきません。 良い解決法をお願いします。

  • エクセルのマクロの登録について

    エクセルのマクロ登録についてご質問です。 エクセルでマクロを登録したいのですが、 D7~D49まで自動で数式が反映するようにしてあります。 マクロのボタンを作成し、そのボタンを押すとコピーを選択した状態になるようにしてあります。 これが、すぐよこのE列~AH列まで日付が並んでおり、D7~D49に反映させたデータを 対応する日付の下に毎日値貼り付けをしている常態です。     D      E     F     G   自動反映   9/1   9/2   9/3 7   ~ 49 ボタンひとつでコピーした状態ではなく、その対応した日付の下に値貼り付けすることはできますでしょうか。 これがシート1、シート2、シート3、シート4まで あるのですが、ボタンひとつで登録するようにできますでしょうか。 どなたかご回答よろしくお願い致します。

  • エクセルで規則性のあるシート間コピーについて

    QNo.3516944にて質問しましたが、ちょっと説明不足もありましたので再度投稿します。 ●例2 sheet1   A   B   C   D   E 1 a a a    c c c  2    b b b    d d d e e e 3 a'a'a'    c'c'c' 4     b'b'b'     d'd'd' e'e'e' とあったデータを sheet2    A    B     C     D    E 1 a a a  b b b  c c c  d d d  e e e 2 a'a'a'  b'b'b'  c'c'c'  d'd'd'  e'e'e'     3 a"a"a"  b"b"b"  c"c"c"  d"d"d"  e"e"e"     4 以下同様に下にコピーしたい  数式では       A        B       C       D        E 1 =Sheet1!A1 =Sheet1!B2 =Sheet1!C1 =Sheet1!D2 =Sheet1!E2 2 =Sheet1!A3 =Sheet1!B4 =Sheet1!C3 =Sheet1!D4 =Sheet1!E4 3 =Sheet1!A5 =Sheet1!B6 =Sheet1!C5 =Sheet1!D6 =Sheet1!E6    4 =Sheet1!A7 =Sheet1!B8 =Sheet1!C7 =Sheet1!D8 =Sheet1!E8 この規則性を 以下同様に「+」でコピーしたい  ご指導のほどよろしくお願いします。罫線がうまく表現できないのでわかりづらくて申し訳ないです。

  • 指定した数だけデータをコピペする方法

    VBAの参考例を教えてください。 <シート1> A列に1から順に数字が入力されており、B列からE列まで数値のデータが入力されています。F列にはB列からE列にデータが入力されているセルの数をカウントした関数が入力されています。 <シート2> シート1のB~Eに入力されたデータが縦に入れ替えの上A列にコピぺされています。 ここで、シート1のA列の数値をコピーし、シート1F列に示されたデータ数分だけ、シート2のF列に縦に順々にペーストしていく方法をご教示ください。シート1のA列に入力された数値が最後の行にくるまでこれを繰り返します。 シート1 A B C D E F 1  a b c d 4 2  e d f   3 3  d e     2 ・ ・ ・ シート2 A B C D E F a         1 b         1 c         1 d         1 e         2 d         2 f          2 d         3 e         3 当方、VBAは全くの初心者です。急遽仕事で必要になってしまい、質問しました。 どうぞよろしくお願いします。

  • Excelで、特定の範囲を別シート/ブックへ自動でコピーする方法

    教えてください。 Excelで、営業がSheet1へ入力した内容を得意先ごとに、別シートもしくは別ブックの見積書フォーマットへ自動でコピーできるようにしたいです。 Sheet1はその月の販売一覧データを入力してもらう形です。 ■Sheet1の内容 A      B       C      D    E     F  日付   得意先名  商品名  数量   単価   金額(=数量×単価)  1/10   ●●     XXXXXX   200   3000   600000  1/10   ●●     XXXXX    100   1000    100000  1/12   ▽▽     XXXXXX    1   50000   50000  1/12   ▽▽     XXXXX     2   50000    100000  1/15   ■■     XXXXXXX   20   8000   160000 ・    ・    ・ A~F列までを、A・B列の日付&得意先別に、別シートもしくは別ブックの見積書フォーマットに値のみを書き出したいです。 ボタン1つ押すとコピーされるようなお手軽な形式を希望します。。 簡単に出来る方法があれば教えていただけますと非常に助かりますm(__)m

  • 《エクセル》リストから同じ分類のデータのみコピーする

    いつもお世話になります。 別のシートに、下記の形のリストがあります。  列A   列B   列C   列D (商品名)(大分類)(中分類)(売上金額)  商品A   あ    A    1000  商品B   あ    B    900  商品C   い    A    800  商品D   あ    A    700  商品E   あ    C    600  商品F   あ    F    500 マクロを組んで、このリストの大分類が"あ"、中分類が"A"に該当する商品名と売上金額のみをコピーして、今開いているシートの列A・列Bに連続したデータとして貼り付けたいのですが、うまくいきません。 ご教授宜しくお願い致します。