ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Excel(エクセル)活用コミュの表示と非表示を機械的にできませんか?

  • mixiチェック
  • このエントリーをはてなブックマークに追加
Excelのファイルをテーブルに変換して使ってます。定期的に同じ形式のファイルを加工してます。
毎回、不必要な列は非表示にしてます。(会社からの指示)

見出しによって、表示する見出し、非表示にする見出しが決まってるのですが、なんとか機械的にできないですか?

グループ化/解除は知ってますが、表示/非表示でという指示なので。

コメント(18)

>>[1]
使えるようにならないとなぁ…って思いながら、まだ使えません。データの数はバラバラなので、何行かは決まってません。

その程度なら、マクロならすぐにできますか?
>>[3]

はて?列の非表示って、行数が関係するんでしたっけ?w

マクロを使う気が無いんなら、いつまで経ってもできないでしょうね。


-----------
貴方の今までのコメントを見て思っていましたが、自分に限らず、返信してくれた方にはまずは「ありがとうございます」と書くのが先じゃないですか?

コメントを書いてくれた方は、多かれ少なかれその方がスキルを使い、時間を消費してコメントしています。
「教えてくれるのが当たり前」と思っているなら大きな間違いです。
不満があるのであれば貴方の近くでExcelを有料でサポートしてくれる業者にお金を払って習って下さい。
不快な気持ちにさせてしまったなら申し訳なかったです。
'E列1行目の見出しが"血液型"ならE列を非表示にする

Sub Macro1()

If Cells(1, 5) = "血液型" Then

Columns("E:E").Select
Selection.EntireColumn.Hidden = True

Else

End If

End Sub


'F列2行目ならCells(2, 6)
'Columns("F:F")
'あとはご自由に加工して下さい。

>>[7]
質問者さんの内容は「不必要な列は非表示に」なのですが、スライサーって「不必要な行を非表示に」ではありませんでしたっけ?
質問者さんへ

「見出しによって、表示する見出し、非表示にする見出しが決まってる」と書いていますが、もう少し具体的に書いてもらえませんかね?「必ず○列目と○列目を非表示にすると決まっている」とか、「非表示にする列は○列目といつも決まっている訳ではないが、見出し(1行目?)に○○○と書かれている」とか、「逆に見出しに○○○と書かれている列を残してあとは全部非表示にする」とか。
ごめんなさい。
誤記を修正しようとして、おかしな書き込みをしてしまいました。
お詫びします。
>>[10]

質問者さんは「グループ化/解除は知ってますが、表示/非表示でという指示なので」とも書いておられますよ。
現実的な対応としては、提出用シートと作業用シートを分けることですかね。

そうでないなら、やはりマクロでしょうかね。
その際は、見出し行を浚って非表示対象列をhiddenをtrue、False切り返し、ボタンや図形をトリガーに使うのが簡便なのでしょうね。
CharGPTに聞いてみた。
--
ExcelのVBAマクロを使うことで、定期的に行う処理を自動化することができます。
指定された見出しに応じて列の表示/非表示を切り替えるマクロを次のように作成できます。

Sub hide_columns()
Dim ws As Worksheet
Dim col As Long

Set ws = ThisWorkbook.Sheets("Sheet1") 'シート名を変更する場合はここを修正

'非表示にする列の見出しを格納する配列
Dim hide_columns() As String
hide_columns = Array("Column1", "Column2") '見出し名を変更する場合はここを修正

For col = 1 To ws.UsedRange.Columns.Count
If IsInArray(ws.Cells(1, col).Value, hide_columns) Then
ws.Columns(col).EntireColumn.Hidden = True
End If
Next col
End Sub

Function IsInArray(stringToBeFound As String, arr As Variant) As Boolean
IsInArray = (UBound(Filter(arr, stringToBeFound)) > -1)
End Function

上記マクロを実行することで、非表示にする列の見出しが記載された列が非表示になります。
--
すごすぎる(怖
>>[9]
遅くなりすみません。
列は、決まってますが、列よりも、テーブルなのでタイトルで判断してます。

例えば、お客さんに何かを売りました。
申し込み日:表示
届け先の県:表示
届け先の市:非表示
みたいな感じです。

ちなみに、バージョンはExcel2016です。
>>[16]
であれば、 [15] のChatGPTが回答してくれた内容に従い、非表示にするカラムの見出し語を置き換えていけば大丈夫そうですね。
遅くなりすみません。会社で仕事の一環でやっています。
会社としては、あまり複雑なことをして欲しくないみたいです。
なので、一つ一つ手作業でやるしかありません。

というとアドバイスしてくれたのに申し訳ないのですが。

ログインすると、残り4件のコメントが見れるよ

mixiユーザー
ログインしてコメントしよう!

Excel(エクセル)活用 更新情報

Excel(エクセル)活用のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。