- ベストアンサー
エクセルのセルを参照して別シートに張り付ける
- エクセルのsheet1のセルに入力されている文字や数値をsheet2にコピーする方法についての質問です。ただし、コピー先のsheet2のセルの値は、sheet1を参照するだけでなく文字や数値として表示できるかも知りたいです。
- sheet1とsheet2にあるセルの値をコピーする方法についての質問です。ただし、コピー先のsheet2のセルの値は、sheet1を参照するだけでなく文字や数値として表示できるか試してみたいです。
- エクセルのsheet1に入力されたデータをsheet2にコピーする方法についての質問です。ただし、コピー先のsheet2のセルの値は、sheet1を参照するだけでなく文字や数値として表示できるか不明です。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Sub Macro1() Sheets("Sheet2").Select Sheets("Sheet1").Columns("A:D").Copy Columns("A:A").PasteSpecial Paste:=xlPasteValues Columns("B:B").Cut Columns("E:E").Insert Shift:=xlToRight Columns("A:A").Cut Columns("E:E").Insert Shift:=xlToRight Range("A1").Select End Sub Sheet2を開いてからSheet1のA~D列をSheet2にコピー(値)して B列、A列を右にシフトして移動させています。
その他の回答 (2)
- KURUMITO
- ベストアンサー率42% (1835/4283)
シート2のA1セルには次の式を入力して右横方向にオートフィルドラッグしたのちに下方向にもオートフィルドラッグします。 =IF(OR(ROW(A1)>COUNTA(Sheet1!$A:$A),COLUMN(A1)>3),"",INDEX(Sheet1!$A:$D,ROW(A1),IF(COLUMN(A1)=1,3,IF(COLUMN(A1)=2,4,2)))) 式の意味はシート1のA列に文字が入力されていますがその文字の入力されている行がシート2に下方としている行よりも多くなれば、あるいは、列の数が4以上になればセルを空白にしなさい。それ以外のばあにはシート2のA列にはシート1の3列目を、B列にはシート1の4列目をC列にはシート1の2列目を表示しなさいということになります。
お礼
有難うございました。 非常に助かりました。
- mu2011
- ベストアンサー率38% (1910/4994)
>作業を1回で行うことはできるのでしょうか? ⇒マクロ(VBA)ならば可能です。 拘りが無ければ、関数で対応後、形式を選択して貼り付けの値でデータを 置き換える方法になります。 (1)Sheet2には関連付け先のセルを入力、下方向にコピー 仮にSheet2のA列は、=IF(Sheet1!C1<>"",Sheet1!C1,"") B1~D1も同様に設定後、A1:D1を選択して下方向にコピー (2)Sheet2の数式範囲を選択、コピー→形式を選択して貼り付け→値を選択→OK
お礼
有難うございました。 非常に助かりました。
お礼
有難うございました。 非常に助かりました。