【Excel】指定範囲のセル中の文字列頭にインデント(半角'>')を付ける
お仕事関連の覚書。
Excelで、
parent | 54 years old |
child | 28 years old |
>grandchild | 4 years old |
[A]
parent | 54 years old |
child | 28 years old |
>grandchild | 4 years old |
[B]
parent | 54 years old |
>child | 28 years old |
>>grandchild | 4 years old |
ちなみに上表のセルの中身は適当。実際はもっと複雑です
とても手作業でいちいち'>'を打ってられません。
また、Excelの標準の検索・置換機能は貧弱なので、一括置換も難しそう……。
一旦csvに落としてエディタで変換というのも考えましたが、そうするとセルの属性(色など)までクリアされてしまいます。
テキストだけコピーして変換後ペーストする、というのも面倒だし……。
そんなわけで、初めて(!)Excelのマクロ機能なるものを使ってみようと思い立ちました。
とりあえずキーボードマクロ(ツール(T)→マクロ(M)→新しいマクロの記録(R))を試すも……どうも使い勝手が悪すぎるので、やむを得ずVBAなるものを使って(ツール(T)→マクロ(M)→マクロ(M)→(マクロ名を入れて)編集(E))簡単なコードを組んでみることにしました。
出来たのはこんな感じ(↓)。
Sub インデント挿入()
' Keyboard Shortcut: Ctrl+i
For Each tmpCell In Selection.Columns(1).Cells
If tmpCell.Formula <> "" Then
tmpCell.Formula = ">" + tmpCell.Formula
End If
Next
' If Selection.Cells.Count = 1 Then ActiveCell.Offset(1, 0).Select
End Sub
' Keyboard Shortcut: Ctrl+i
For Each tmpCell In Selection.Columns(1).Cells
If tmpCell.Formula <> "" Then
tmpCell.Formula = ">" + tmpCell.Formula
End If
Next
' If Selection.Cells.Count = 1 Then ActiveCell.Offset(1, 0).Select
End Sub
Sub インデント削除()
' Keyboard Shortcut: Ctrl+Shift+I
Set SrchReg = CreateObject("VBScript.RegExp")
With SrchReg
For Each tmpCell In Selection.Columns(1).Cells
.Pattern = "^>"
tmpCell.Formula = .Replace(tmpCell.Formula, "")
Next
End With
' If Selection.Cells.Count = 1 Then ActiveCell.Offset(1, 0).Select
Set SrchReg = Nothing
End Sub
ショートカットキーを適当に登録しておいて(挿入: Ctrl+i、削除: Ctrl+Shift+i)、セルを範囲選択した後でそのキーを入力することで、インデントの挿入([A]→[B])・削除([B]→[A])が可能となりました。
' Keyboard Shortcut: Ctrl+Shift+I
Set SrchReg = CreateObject("VBScript.RegExp")
With SrchReg
For Each tmpCell In Selection.Columns(1).Cells
.Pattern = "^>"
tmpCell.Formula = .Replace(tmpCell.Formula, "")
Next
End With
' If Selection.Cells.Count = 1 Then ActiveCell.Offset(1, 0).Select
Set SrchReg = Nothing
End Sub
VB系は初めてなので全く手探り。これが一般的な作りなのかどうかもわかりません。
« 【ココログ】ページ内目次:記事の編集画面へのリンクを追加 | トップページ | なんか梅雨みたい »
「パソコン・インターネット」カテゴリの記事
- Twitter 原寸びゅー:PC版ブラウザ用・Twitterの画像閲覧と保存がはかどる拡張機能の紹介(2016.02.12)
- スマートフォンをPC上の音楽を再生するためのリモコンとして使いたい(2016.01.10)
- BIGLOBE光ネクスト(大阪)の通信速度問題 - プロバイダ選びは難しい……(2015.08.13)
- BOOK☆WALKER さんに関して最近経験した不安と不満(2015.08.10)
- 『#鳥獣戯画制作キット』が楽しい(2015.07.01)
「覚書」カテゴリの記事
- 鍛高譚 ~ カレイにまつわる物語(2018.05.25)
- ココログをTwitterカードに対応させてみる(2016.11.23)
- 神使の兎 ~宇治神社にて~(2016.07.10)
- Twitter 原寸びゅー:PC版ブラウザ用・Twitterの画像閲覧と保存がはかどる拡張機能の紹介(2016.02.12)
- スマートフォンをPC上の音楽を再生するためのリモコンとして使いたい(2016.01.10)
コメント