• ベストアンサー

エクセルVBAでsheet1!B2:B10までの値をsheet2!B2

エクセルVBAでsheet1!B2:B10までの値をsheet2!B2:K2にコピーする方法を教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.4

>sheet1!B2:B10までの値をsheet2!B2:K2にコピーする そもそもセルの個数が合ってませんが,何がしたいのですか? 基本:値の転送 worksheets("Sheet2").range("B2:J2").value = _ application.transpose(worksheets("Sheet1").range("B2:B10")) 個数を数えるところからやりたいならその通り数を拾って,resize等してください。 応用: dim h as range set h = worksheets("Sheet1").転送元のセル範囲縦一列 worksheets("Sheet2").range("B2").resize(1, h.rows.count),value = application.transpose(h)

ganba1192
質問者

お礼

ありがとうございました。大変助かりました。 また勉強になりました。

ganba1192
質問者

補足

回答ありがとうございます。 ご指摘の通りB2:K2はB2:J2の誤りでした。

その他の回答 (3)

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.3

一例です Worksheets("sheet2").Range("b2:k2").Value =WorksheetFunction.Transpose(Worksheets("sheet1").Range("b2:b10").Value) 参考まで

ganba1192
質問者

お礼

ありがとうございました。お蔭様でやりたいこと出来ました。 感謝感謝です。

回答No.2

Transpose:=True で「形式を選択して貼り付け」の「行列を入替える」になります。 Range("B2:B10").Select Selection.Copy Sheets("Sheet2").Select Range("B2").Select Selection.PasteSpecial Paste:=xlPasteAll, _ Operation:= xlNone, SkipBlanks:= False, Transpose:=True

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

Sheets("sheet1").Range("B2:B10").Copy Sheets("sheet2").Range("B2").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=True です。

関連するQ&A

  • エクセルVBAで、シート1の値をシート2へ移すには?

    エクセルVBAの質問です。初心者です。 ■シート1のA1に「123」と打ったら、シート2のA1に「123」と表示される。そして、A2に「456」と打ったら、シート2のA2に「456」と表示される。続いてシート1のA3の値をシート2のA3に・・・とどんどん繰り返してたくさんの値を別のシートに移せるようにしたいです。 関数で言えば、VLOOKUP と似ている機能を作りたいと思ってます。 よろしくお願いします。

  • EXCEL VBAで探した値を色を付ける

    EXCEL VBAで探した値を色を付ける方法が知りたいです。 シート2の値を参照してシート1の中からVBA シート2の数字を見つけて 合ったら シート1の同じ数字の背景に色をつけていく そんなVBAが作りたいのですが いい案が浮かばないのでどなたか教えていただけませんか? よろしくお願いいたします。 Sheet1 sheet2 A A 1 10 : 1 12 2 11 : 2 14 3 12 : 3 15 4 13 : 5 14 : 6 15 : 7 16 sheet1の12・14・15の所の背景を色を付けたいのですが うまくいかないのでよろしくお願いいたします

  • EXCELで値だけを別シートへコピーVBA

    EXCELの表でテーブルにしてある値だけを 別シートへコピーするVBAの記述が知りたいです 例えば Sheet1の ”テーブル” で作られている A1:D4の表があるとして それを Sheet2のA1へ ”値” だけコピーしたいのですが ちなみに自分の作ったコードですが sub 別シートコピペ() sheet1.range("a1:d4").CurrentRegion.copy sheet2.range("a1") end sub でやったのですが REFのオンパレードで全然コピーできないです どなたか教えていただけませんか? ポイントはテーブルで作られているものの 値だけを シート2へ貼るコードを知りたいです。 よろしくお願いいたします

  • VBA シートの違う特定のセルの値をコピーする

    エクセルVBA初心者です。 シート1の(A,1)にデジカメと表記があり、同じ行のB~Hの列にそれぞれの数字が入っていたとします。 それをシート2のA列の適当な行(例えばA,15)にデジカメという表記があった場合に、シート1の(B,1)~(H,1)の値をシート2の(B,15)~(H,15)にコピーする方法をご存じな方、教えて下さい。 単純なコピー&ペーストは「マクロの記録」で可能かと思いますが、シート2に「デジカメ」の項目があった場合に、シート1の元データから同じ「デジカメ」の項目を探しだし、コピーしたいのです。 なにぶん、初心者で勉強中なものですから、表記等適切でないものがありましたら申し訳ありません。

  • 【VBA】シートのコピー ~ 値に直す

    大変お世話になります。 VBAのコードについてご教示いただけませんでしょうか。 ■やりたいこと -------------------------------------------------------------------------------- (1) 【原紙】Sheetを、同ブック内の新規シートへコピー (2) 新規シートのシート名を、[セル:B5]の値に変更 (3) 新規シートにコピーされてきた数式を値に変更 ■作成してみたコード -------------------------------------------------------------------------------- Sub SheetCopy1() Worksheets("【原紙】Sheet").Copy Before:=Worksheets("【原紙】Sheet") ActiveSheet.Name = Range("B5").Value Cells.Select Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False End Sub -------------------------------------------------------------------------------- 本日初めてVBAに触れた者が、見よう見まねで『■やりたいこと』を並べたコードのため、やはりエラーになってしまいます。 上記は、どこをどう直せばよろしいでしょうか。 もしくは、そもそも間違っておりますでしょうか。 ご教示いただきたく、何卒よろしくお願いいたします。 ◎もし可能でしたら、併せてご教示ください◎ ---------------------------------------------------------------------------- (1)の動作をさせるために、【原紙】Sheetの任意の場所に”ボタン”を設置するのですが、新規シートにもコピーされるため、そのコピー側のボタンを削除できたら…とも考えていますが、そういう動作も可能でしょうか。

  • VBAでB列に並んでいる値を別シートにある同じ値が

    VBAでB列に並んでいる値を別シートにある同じ値がある場合に処理を開始するというマクロを作成したいのです。 VBAは5年前にサンプルを改変して構築していた程度で 久々にVBAを開きました。 コード等載せることが出来れば良いのですが 現場の関係で載せられずすいません。 よろしくお願いします。

  • 【エクセル】各シートのB4の値をシート名にしたい

    たびたびエクセルに関する質問で、失礼いたします。 各シートが30シートほどございます。 各シートの”B4”の値をそのシートのシート名にしたいです。 ですが、シート名が”元データ”と”ひな形”と名付けられているものに関しては ”B4”の値は適用せず、そのまま”元データ”と”ひな形”という名前にしておきたいです。 マクロ初心者のためインターネットで活用できそうなコードをいじってみましたが、 シート名が”元データ”と”ひな形”と名付けられているものに関しても、 ”B4”の値が適用されてしまいます。 お手数おかけいたしますが、ご教授いただけますでしょうか。

  • EXCEL VBA シートの名前を指定してコピー

    EXCEL VBA 初心者です。 とても困っています。 助けてください。 excel2010を使っています。 今,「原本」というシートがあり,それをマクロを使って同じブック内にコピーしたいと思っています。 コピーして新しく作られたシートの名前は「A1」のセルに入力されている値にしたいです。 コピーされた後のシートにはマクロボタンは削除したいと考えています。 また,コピーした後のアクティブシートは「原本」のシートにしたいのですが これを全部いれたコマンドはどのようになるのでしょうか。 似たような質問だったり,回答があるのですが, どのように組み合わせたらいいのかよく分かりません。 どなたかお助けいただけないでしょうか。 よろしくお願いします。

  • Excel VBAでシートのコピーをできなくするには

    Excel VBAで シートのコピー及びシートの新規挿入を出来なくする事はできるでしょうか? どなたかご教示お願いいたします。

  • エクセルのVBAで、開いているブックのシート数を知りたいのですが。

    エクセル97で入力したシートをVBAプログラムで最後のシートの後ろにコピーするようにしています。何枚になるかはデータ量によりシート数が違ってきます。 処理が終了した後、コピーしたシートが何枚有るのかをVBAで把握する方法なり、コマンドなりを知りたいのですが。 ご存じの方教えて下さい。

専門家に質問してみよう