「word2vec の Out-Of-Vocabulary 対策の一案」をQiitaに投稿しました。
VBA でカラムの幅を変更する方法のメモ。
以下のような excel の表で対象カラムの幅を VBA で変更します。
ついでに、セル内で折り返します。
対象カラム |
あいうえおかきくけこ |
さしすせそたちつてと |
Sub set_column_width_in_sheet() Dim str_col As String Dim r str_col = "A" r = 2 While Cells(r, str_col).Value <> "" ' 折り返して表示 Cells(r, str_col).WrapText = True Wend ' 列の幅を変更 Columns(str_col + ":" + str_col).ColumnWidth = 80 End Sub Sub set_column_width_in_all_sheets() Dim i As Integer For i = 1 To Sheets.Count Sheets(i).Activate Call set_column_width_in_sheet Next Sheets(1).Activate End Sub
VBA で部分文字列の色を変更する方法のメモ。
以下のような excel の表で対象文字列カラムの部分文字列の色を VBA で変更します。
対象文字列 | 開始位置 | 文字列長 | |
あいうえお | 3 | 2 | 「うえ」を赤に変更 |
かきくけこ | 4 | 1 | 「け」を赤に変更 |
Sub set_substr_color_in_sheet() Dim str_col As String Dim num_col As String Dim from_idx As Integer Dim num_chars As Integer Dim color As Integer Dim r str_col = "A" ' 対象カラム from_col = "B" ' 対象文字列の開始位置 num_col = "C" ' 対象文字列長 color = RGB(255, 0, 0) ' 赤 r = 2 ' 行番号(2行目から) While Cells(r, str_col).Value <> "" from_idx = Cells(r, from_col).Value num_chars = Cells(r, num_col).Value Cells(r, str_col).Characters(Start:=from_idx, Length:=num_chars).Font.color = color r = r + 1 Wend End Sub Sub set_substr_color_in_all_sheets() Dim i As Integer For i = 1 To Sheets.Count Sheets(i).Activate Call set_substr_color_in_sheet Next Sheets(1).Activate ' 終了時にシート1をアクティブにする End Sub