Sub セルの書式設定_横書き縦書き() With Cells .Orientation = xlVertical 'シート全体を縦書きにします。 End With MsgBox "セルの書式設定を縦書きにしました。" With Cells .Orientation = xlHorizontal 'シート全体を横書きにします。 End With MsgBox "セルの書式設定を横書きにしました。" End Sub
Sub セルの書式設定_角度変更() Dim I, L As Long For I = -90 To 90 'セルの書式設定の角度を-90⇒90へ1ずつ角度を変えます。 For L = 1 To 100000 '処理時間を遅らせるループ処理 Next L With Cells .Orientation = I 'シート全体の角度変更します。 End With Next I End Sub
Sub セルの書式設定_横書きから縦書きへ転記() Dim ws01, ws02 As Worksheet Dim L, I, M, lRow, mRow, xRow As Long Set ws01 = Worksheets("業務一覧") Set ws02 = Worksheets("スケジュール表") lRow = ws01.Cells(Rows.Count, "A").End(xlUp).Row 'シート「業務一覧」のA列の最終行を取得 mRow = ws02.Cells(Rows.Count, "B").End(xlUp).Row 'シートスケジュール表」のB列の最終行を取得 For L = 2 To lRow 'シート「業務一覧」のデータ2行目から最終行までループ xRow = 0 On Error Resume Next xRow = WorksheetFunction.Match(ws01.Cells(L, "B"), ws02.Range("A2:A" & mRow), 0) + 1 '※シート「業務一覧」の「B列」(社員番号)とシート「スケージュール表」の「A列」(社員番号)の一致する行を取得(xRow) On Error GoTo 0 If xRow <> 0 Then M = Day(ws01.Cells(L, "A")) + 2 'シート「業務一覧」からA列の日付の日+2をMへ代入。例:3/1は、1+2でMは、3となる。3は、3列目=C列 ws02.Cells(xRow, M) = ws01.Cells(L, "D") 'シート「業務一覧」のD列「業務内容」を転記する。 With ws02.Cells(xRow, M) 'XRow一致した行とM=列 .Orientation = xlVertical '縦書きに設定 .ShrinkToFit = True '縮小して表示する .VerticalAlignment = xlTop '上詰め .Font.Size = 10 'フォントサイズを10に指定 End With End If Next L End Sub
文字の制御 【押し返しの指定】 | |
---|---|
オブジェクト.WrapText = True | 折り返しの設定 |
オブジェクト.WrapText = False | 折り返しの解除 |
Sub セルの書式設定_文字列の折り返し() Dim ws01, ws02 As Worksheet Dim L, I, lRow As Long Set ws01 = Worksheets("住所録") Set ws02 = Worksheets("住所録(折り返し)") lRow = ws01.Cells(Rows.Count, "A").End(xlUp).Row 'シート「住所録」のA列の最終行を取得 For I = 2 To lRow 'シート「住所録」のデータを最終行まで転記します。 ws02.Cells(I, "A") = ws01.Cells(I, "A") '管理番号を転記 ws02.Cells(I, "B") = ws01.Cells(I, "B") '氏名を転記 ws02.Cells(I, "C") = ws01.Cells(I, "C") '性別を転記 ws02.Cells(I, "D") = ws01.Cells(I, "D") '郵便番号を転記 ws02.Cells(I, "E") = ws01.Cells(I, "E") '住所を転記 ws02.Cells(I, "E").WrapText = True '住所を転記したE列をセル内で折り返す Next I End Sub