No.5ベストアンサー
- 回答日時:
>実際はデータの量が膨大で手作業では出来ません。
それでも手動で置き換えることは可能。
キーボードショートカットを覚えよう。
キーボードの矢印キーとShiftキー、Ctrlキーの組み合わせで
簡単に犯意を選択したり、範囲を移動したりすることができる。
自分なら…
元のデータに対して左の縦1列を除いて右側の範囲を選択し、
それを左の縦1列のデータの下へ移動させる。
・・・その手順・・・
データがA1セルからE5セルまで入力されているとする。
A1セルを選択する。
左縦1列を除くため、「→」キーを押してB1セルを選択する。
ShiftキーとCtrlキーを押しながら矢印キーの「↓」を押し、さらにShiftキーとCtrlキーを押しながら矢印キーの「→」を推す。
これでB1セルからE5セルまでが選択される。
【切り取り】を行う。(Ctrl+X)
「←」キーを押しA列のセルを選択し、Ctrlキーを押しながら矢印キーの「↓」を推す。さらにもう一度「↓」だけを押す。
これでA列の最後のデータの下のセル(A6セル)が選択される。
【貼り付け】を行う。(Enterキーを押す)
A6セルからD10セルが選択されているので
左縦1列を除くため、「→」キーを押してB6セルを選択する。
ShiftキーとCtrlキーを押しながら矢印キーの「↓」を押し、さらにShiftキーとCtrlキーを押しながら矢印キーの「→」を推す。
これでB6セルからD10セルまでが選択される。
【切り取り】を行う。(Ctrl+X)
「←」キーを押しA列のセルを選択し、Ctrlキーを押しながら矢印キーの「↓」を推す。さらにもう一度「↓」だけを押す。
これでA列の最後のデータの下のセル(A11セル)が選択される。
【貼り付け】を行う。(Enterキーを押す)
…以下繰り返し…
(1000列あろうが、10000列あろうが繰り返し…ちょっと無茶?)
このようにキー操作だけで何とかなったりするものです。
・・・
ポイント。
Shiftキーと矢印キーを同時に押すと、選択範囲を矢印の方向へ拡張する。
Ctrlキーと矢印キーを同時に押すと、矢印方向に同じ入力状態の最後のセルまで選択を移動する。(入力されていれば入力の最後。入力が無ければ空白の最後まで移動)
ShiftキーとCtrlキーと矢印キーを同時に押すと、矢印方向に同じ入力状態の最後のセルまで選択状態を拡張する。
…こんだけ。
VBAでも同じだけのメモリを消費すると思われるので、都度書き換えるよりも楽なはず。
正直、同じキー操作の繰り返しなのでマクロ化したほうが楽には違いない。
こんなショートカットキーがあるなんて知りませんでした。
とても便利ですね。
マクロだけでなくショートカットも勉強しようと思います。
この方法を2回やってマクロに登録したら(当たり前かもしれませんが)
全く同じだったので少し書き加えて、完全にマクロ化しました。
Sub yokotate()
For i = 1 To 599
ActiveCell.Offset(0, 1).Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Cut
ActiveCell.Offset(0, -1).Range("A1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveSheet.Paste
Next i
End Sub
すごくうまくできました!
本当にありがとうございます!
No.6
- 回答日時:
こんなのはいかがでしょう。
5行5列(A1:E5)でデータが並んでいるとします。
A6セルに次の数式を設定して、下にオートフィルしてください。
=OFFSET($A$1,MOD(ROW(A5),5),ROW(A5)/5)
A列を選択してコピー、同じ位置に値張り付けして、数式を実値にします。
B列以降を削除すれば出来上がりです。
関数を使っているので、A1:E5中に空白があるとゼロと表示されます。
もし、それが嫌なら、=IF(A1="","",A1)みたいな式に、前述の数式を当てはめて対応してください。
No.3
- 回答日時:
こんな感じではいかがでしょうか?
----------------------------------------------------------------
Sub Sample()
Dim 始 As String
Dim 終 As String
Dim 行 As Long
Dim 列 As Long
Dim 始行 As Long
Dim 終行 As Long
Dim 始列 As Long
Dim 終列 As Long
Dim 先行 As Long
Dim 先列 As Long
始 = "C2"
終 = "AB9"
始行 = Range(始).Row
始列 = Range(始).Column + 1
終行 = Range(終).Row
終列 = Range(終).Column
先行 = Range(始).Row + 1
先列 = Range(始).Column
For 行 = 始行 To 終行
For 列 = 始列 To 終列
Cells(先行, 先列).Value = Cells(行, 列).Value
Cells(行, 列).ClearContents
先行 = 先行 + 1
Next
Next
End Sub
----------------------------------------------------------------
※ 範囲指定ですが「始 = "C2"」と「終 = "AB9"」を、それぞれ元範囲の右上のセルと左下のセルに変えてください。
丁寧に答えてくださってありがとうございます。
これではなぜか上手くできませんでした…。
A
A
A
A
A
B
B
B
・
・
・
Z
Z
Z
こんな風になってしまいました…。
No.2
- 回答日時:
範囲が毎回同じならば良いのですがそうではないですよね
範囲をどのように指定したいか?とは
たとえば
①「A1」~「WB9」を「A1」~「A5400」ように、A1セルから固定してしまうのか?
② 選択している部分を、縦一列にするのか?
③ コピーで取り込んでいるものを、選択しているところから縦一列に貼付するのか?
という事です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excelで横書き50行の漢字テストデータを縦書きのテスト問題にしたい。 6 2022/04/27 15:03
- Excel(エクセル) エクセルでのマクロを使ったデータの並べ替え 3 2022/12/03 18:54
- Excel(エクセル) Googleスプレッドシートの割合の関数と円グラフの並べ替えについて 1 2022/07/22 17:31
- Visual Basic(VBA) VBA横に並んでいるデータを縦に並ぶデータにしたいです。 4 2023/08/09 08:53
- Excel(エクセル) 【エクセル】並び替えからの並び替え方法 7 2022/07/22 09:46
- Visual Basic(VBA) VBA横データを縦にしたいです 2 2023/08/08 19:38
- その他(Microsoft Office) エクセルソートと抽出について 3 2022/10/22 22:09
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Excel(エクセル) Excelの並び替え(先頭の文字以外を基準に並び替えたい) 3 2023/07/07 22:21
- Excel(エクセル) 結合セルのソートについて 5 2022/04/22 11:57
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelの数式について教えてくだ...
-
エクセルの「赤」の印刷がうま...
-
エクセル おすすめフォント
-
pdfの表をexcelにはりつけて計...
-
[オプション]の[アクセスビリテ...
-
Excelのデーターを消して保存し...
-
エクセルの「入力規則」のプル...
-
エクセルで特定のセルに入力が...
-
関数の説明
-
CSVファイルについて質問です。
-
エクセルで不等号記号(≠)が上に...
-
UNIQUE関数が使えないバージョ...
-
Excelについて
-
【マクロ】名前を保存する際に...
-
エクセルであるセルに数字を入...
-
Excelにいついて質問です。
-
Excelの関数について教えてくだ...
-
Excel ピボットテーブルで日付...
-
Excelでセルの値が同じか...
-
エクセルでの作業計算方法について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA、別ブックへ転記す...
-
エクセルでの作業計算方法について
-
時間によってファイル名が変わ...
-
【関数】適切な文字数の数字を...
-
Excelについて教えてください
-
エクセル初心者です 関数の入れ...
-
【マクロ】ファイル名の変更に...
-
UNIQUE関数が使えないバージョ...
-
エクセルの計算
-
【関数】先頭だけにある、半角...
-
Excelで、決まった行を繰り返し...
-
Excelでセルの値が同じか...
-
LOOKUP関数を使えばいいのでし...
-
Excel
-
はがきについて。
-
エクセルの条件付き書式につい...
-
エクセルのデーターが2か月前の...
-
エクセル②
-
エクセルで「-0.0」と表示さ...
-
Microsoft1Officeの互換ソフト...
おすすめ情報
マクロでも良いですが、自分では書き換え出来ないのでそのまま使えるようにか、詳しい説明をつけていただけると嬉しいです。
範囲の指定は多分なんでも大丈夫です。
膨大といっても9行600列なので。
①でお願いいたします!
今回やりたい作業は範囲が変わらない予定です。