dポイントプレゼントキャンペーン実施中!

【表(1)】を【表(2)】のように変更する。
最終列(変動する)この場合P列を基準にして右寄せにする。
3列ずつ組になっています。 excel2007

http://www.dotup.org/uploda/www.dotup.org4074691 …

A 回答 (5件)

的外れかも知れませんが



表(1)だけを移動するとき
[Q1~Q6を範囲指定して右クリック]→[切り取り]→[A1右クリック]→[切り取ったセルを挿入]

シート全体を移動するとき
[列名Q右クリック]→[切り取り]→[列名A右クリック]→[切り取ったセルを挿入]
    • good
    • 0

こんばんは!


VBAになってしまいますが、一例です。

操作したいSheetはSheet1とします。
Sheet2を作業用として使用していますので、Sheet2は全く使っていない!という状態にしておいてください。

Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面に
↓のコードをコピー&ペーストし、マクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)
必ずSheet1の範囲指定をしてからマクロを実行してください。

Sub 右詰め() 'この行から
Dim i As Long, j As Long, k As Long, wS1 As Worksheet, wS2 As Worksheet
Set wS1 = Worksheets("Sheet1")
Set wS2 = Worksheets("Sheet2")

k = Selection(1).Column
j = Selection(Selection.Count).Column
Application.ScreenUpdating = False
For i = Selection(1).Row To Selection(Selection.Count).Row
Range(wS1.Cells(i, k), wS1.Cells(i, j)).Copy wS2.Cells(1, 1)
With wS2
With .Range(.Cells(2, 1), .Cells(2, j - k + 1))
.Formula = "=IF(A1="""",0,COLUMN())"
.Value = .Value
End With
.Range(.Cells(1, 1), .Cells(2, j - k + 1)).Sort key1:=.Cells(2, 1), order1:=xlAscending, _
Header:=xlNo, Orientation:=xlLeftToRight
.Range(.Cells(1, 1), .Cells(1, j - k + 1)).Copy wS1.Cells(i, k)
End With
Next i
wS2.Cells.Clear
Application.ScreenUpdating = True
End Sub 'この行まで

こんな感じではどうでしょうか?m(_ _)m
    • good
    • 0
この回答へのお礼

ありがとうございます。
実際の表で試してみたところ
表のほうに修正を加えなければいけない箇所が無数に見つかりました。
意味のある空白、色分してあるセルなどなど
修正するのも作り直すのもちょっとぅ
すこし考えてみます(T_T)

お礼日時:2013/03/27 04:34

1.セル B12 に次式を入力して、此れを右方へズズーッと(P列まで)ドラッグ&ペースト


  =IF(COLUMN(A12)<=COUNTBLANK($B2:$P2),"",OFFSET($B2,,COLUMN(A12)-1-COUNTBLANK($B2:$P2),))
2.範囲 B12:P12 を下方へズズーッとドラッグ&ペースト
3.C、F、I、L、O列を日付形式(m/d)に書式設定
    • good
    • 0
この回答へのお礼

ありがとうございます。
実際の表で試してみたところ
表のほうに修正を加えなければいけない箇所が無数に見つかりました(T_T)

お礼日時:2013/03/27 04:30

No.1です。


すみません、意味を取り違えてました。

その様な機能はないはずです。
やるとすれば、

B3~D3を選択
右クリック→挿入→右方向にシフト
Q3~S3(表の空白の部分)を選択
右クリック→削除

B4~G3を選択
・・・
繰り返し


こんなことするより、真面目に打ち直したが早いと思います。
もしくは、コピー&ペーストを利用したらどうでしょうか?
(B3~M3を選択、コピー、E3に貼り付け、B3~D3をdeleteキーで消去)
    • good
    • 0
この回答へのお礼

ありがとうございます。
そうなんですが実際の表は膨大なもので繰り返し何千回もやりたくありません(T_T)

お礼日時:2013/03/27 04:27

Q列を削除したうえで、


A列を選択して
右クリック→挿入
でどうでしょう?
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2013/03/27 04:24

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