2016-10-14 1 views
1

関連する質問を複数回検索するようになりましたが、これまでに似たような質問はありませんでした。誰もがいつもカラムの幅を調整する方法を知りたいと思っています。それは簡単です。私はずっとニュアンスのある質問があります。特定のセル/行を除外してExcelで列の幅を自動的に調整する

私は自動調整が大好きで、きれいな表を作成し、すべてが表示されていることを確認します(ctrl-a、列間の上部をダブルクリックします)。しかし、テーブルの一番下にある)、それは400ピクセル幅のような列を作成して、列の見出しやテーブルのデータごとに更新したいときに、テキスト全体をキャプチャします。 私は、このテキストセルを無視して、自動調整のためにExcelにフラグを立てることができるようにしたいと考えています。

中央に配置しても問題ない場合は、そのセルの位置合わせ(右に1セル)を「中心を横切る」に設定すると無視されます。しかし、上記の例のように、私はしばしばこのテキストを左または右に正当化し、C.A.S.を許さないようにします。働く

誰でもこれを達成できましたか?

+0

私はOffice 2016で少なくとも、私が望んでいたものと基本的に同じコマンドを実装していることがわかりました。ホーム - >セル - >書式 - > AutoFitColumnWidths(Alt-> H O I)を選択します。特定の行やいくつかのセルなどを選択し、そのコマンドを使用して強調表示されたセルだけでハイライト列を自動調整することができます。 – kindlin

答えて

0

VBAソリューションで問題がなければ、カスタムルーチンを作成してこれを行うことができます。あなたは範囲を渡す場合は、この例では、「自動調整ヘッダのみ、」それは基本的に自動調整を実行して、クリーンなセルにヘッダをコピーし、その後、あなたの列にそのautofitted幅を適用したい:

Sub AutoFitHeader(HeaderRow As Range) 

    Dim col As Range 
    Dim ws As Worksheet 
    Set ws = ActiveWorkbook.Worksheets.Add 
    ws.Visible = xlSheetHidden 

    Application.DisplayAlerts = False 

    For Each col In HeaderRow 
    ws.Range("A1").Value = col.Value 
    ws.Columns("A").AutoFit 

    col.EntireColumn.ColumnWidth = ws.Columns("A").ColumnWidth 
    Next col 

    ws.Delete 

    Application.DisplayAlerts = True 

End Sub 

そして、

AutoFitHeader Range("A1:H1") 
+0

これはほぼ可能な限り最良の解決策ですが、私はいくつかの質問があります。これは2dの範囲に拡張することができるので、私はテーブル全体を強調し、単一行だけではないでしょうか?あるいは正直なところ、「セルX YまたはZにないすべてのデータに自動適合」(または、範囲A13:H20)の逆数が優先されますか?そして、実際にこれをどのように実行していますか?あなたはそれをセル内のUDFのように呼びますか?または、 "AutoFitHeader Range(" X:Z ') "というコマンドを探してVBAを入力する必要があるVBAランスペースがありますか? – kindlin

関連する問題