プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (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)

この回答への補足

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

補足日時:2010/05/10 23:44
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/05/13 21:14

一例です



Worksheets("sheet2").Range("b2:k2").Value =WorksheetFunction.Transpose(Worksheets("sheet1").Range("b2:b10").Value)

参考まで
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/05/13 21:18

Transpose:=True


で「形式を選択して貼り付け」の「行列を入替える」になります。


Range("B2:B10").Select
Selection.Copy
Sheets("Sheet2").Select
Range("B2").Select
Selection.PasteSpecial Paste:=xlPasteAll, _
Operation:= xlNone, SkipBlanks:= False, Transpose:=True
    • good
    • 0

Sheets("sheet1").Range("B2:B10").Copy



Sheets("sheet2").Range("B2").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True

です。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!