人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Excelについて質問です。

今、1・2・3・4・・・と、列に、いろいろと記載があるのですが、

これを、それぞれを1列ずつ空けて、

B1のセルに書いてある内容を、A2に、
B2のセルに書いてある内容を、A4に、
B3のセルに書いてある内容を、A6に、

・・・と言った感じで、一気に書き直したいです。

こういったことはそもそも出来ますでしょうか?

出来るならば、方法を教えていただけませんでしょうか?

よろしくお願い致します。

●質問者: net525
●カテゴリ:ビジネス・経営 コンピュータ
✍キーワード:b2 Excel セル
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● SALINGER
●20ポイント

B列に書いてある値を1行(列ではなくて)ずつ空けてA列に表示するのでしたら、VBAを使って

Sub test()
 Dim lastRow As Long
 Dim i As Long
 lastRow = Cells(Rows.Count, 2).End(xlUp).Row
 
 For i = 1 To lastRow
 Cells(i * 2, 1).Value = Cells(i, 2).Value
 Next
End Sub

VBAとははなんぞやという場合は、

http://www.officepro.jp/excelvba/ini/index1.html

http://www.officepro.jp/excelvba/ini/index2.html

http://www.officepro.jp/excelvba/ini/index3.html

◎質問者からの返答

ありがとうございます。

VBAですね。

参考になります。


2 ● Kenz
●20ポイント

いろいろ方法はありますが、私は手っ取り早く

テキストエディタにコピー貼り付けして、タブをタブX2に変換した後Excelに戻します。

◎質問者からの返答

それはそうなんですけど、列が多すぎるもので(汗)


3 ● Gay_Yahng
●20ポイント

1行ずつ空けて表示 でいいですか?

A1に

=IF(MOD(ROW(),2)=0,INDEX(B:B,ROW()/2),"")

これをA2以降にコピー。

これでいかがでしょう?

◎質問者からの返答

このやり方ですと、すでに、列がギッシリ埋まっている場合には難しい気がするのですが。


4 ● nasi-goreng
●20ポイント

どこの列がぎっしり詰まっている状態でしょうか?

B列,C列,D列,E列,F列・・・にデータがあるということですか?

それとも

A列にデータがすでに入っていて、偶数行はB列の値、奇数行はA列のデータを消さないでA列のままということでしょうか?

◎質問者からの返答

「B列,C列,D列,E列,F列・・・・にデータがある」ということです。


5 ● SALINGER
●20ポイント

列が多すぎるというところから想像して、ただB列を1行空けてA列にコピーではないようですね。

全ての列を直前に1列追加して、1個おきにコピーにしました。

Sub test()
 Dim lastRow As Long
 Dim lastCol As Long
 Dim i As Long
 Dim j As Long
 lastCol = Cells(1, Columns.Count).End(xlToLeft).Column
 
 For j = lastCol To 1 Step -1
 lastRow = Cells(Rows.Count, j).End(xlUp).Row
 Columns(j).Insert shift:=xlToRight

 For i = 1 To lastRow
 Cells(i * 2, j).Value = Cells(i, j + 1).Value
 Next
 Next
End Sub
◎質問者からの返答

追加のご回答ありがとうございます!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ