- ベストアンサー
行と列の関係性を一括編集する方法とは?
- 行と列の関係性を一括編集する方法について教えてください。
- 現在の表の構造から、行と列の関係性を変更したいです。最も効率的な方法は何でしょうか?
- 行と列の関係性を一度に編集するためのヒントや手順を教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは! おそらく数値はA列だと思うのですが、 規則性が判らないので、A列(数値)は無視しています。 VBAになってしまいますが一例です。 ↓の画像で左側がSheet1で結果を右側のSheet2に表示するようにしています。 Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面に ↓のコードをコピー&ペースト → Excel画面に戻ってマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub Sample1() 'この行から Dim i As Long, j As Long, endRow As Long, c As Range, wS1 As Worksheet, wS2 As Worksheet Set wS1 = Worksheets("Sheet1") '←Sheet1は実際のSheet名に! Set wS2 = Worksheets("Sheet2") '←Sheet2も・・・! With wS2.Range("B1") .Value = "種類" .Offset(, 1) = "品名" End With endRow = wS2.Cells(Rows.Count, "B").End(xlUp).Row If endRow > 1 Then wS2.Rows(2 & ":" & endRow).ClearContents End If For j = 2 To wS1.Cells(1, Columns.Count).End(xlToLeft).Column endRow = wS1.Cells(Rows.Count, j).End(xlUp).Row If endRow > 0 Then Range(wS1.Cells(2, j), wS1.Cells(endRow, j)).Copy wS2.Cells(Rows.Count, "C").End(xlUp).Offset(1) End If Next j For i = 2 To wS2.Cells(Rows.Count, "C").End(xlUp).Row Set c = wS1.Cells.Find(what:=wS2.Cells(i, "C"), LookIn:=xlValues, lookat:=xlWhole) wS2.Cells(i, "B") = wS1.Cells(1, c.Column) Next i End Sub 'この行まで マクロを実行すると画像のような感じになります。 ※ 関数でないので、Sheet1のデータ変更があるたびに マクロを実行する必要があります。m(_ _)m
お礼
ご丁寧に教えて頂き、有難うございました。
補足
ありがとうございます! 質問した内容であれば、教えて頂いた方法で問題なく処理できました。 ただ、私の質問例が悪かっただけなのですが、実際には少し異なる処理を 実現したかったので、改めて画像付きで質問を投稿させて頂きました。 http://oshiete.goo.ne.jp/qa/8395253.html お手数をお掛けして申し訳ございません。