見出し1 | 見出し2 | 見出し3 | 見出し4 | 見出し5 |
内容11 | 内容12 | 内容13 | 内容14 | 内容15 |
内容21 | 内容22 | 内容23 | 内容24 | 内容25 |
内容31 | 内容32 | 内容33 | 内容34 | 内容35 |
内容41 | 内容42 | 内容43 | 内容44 | 内容45 |
内容51 | 内容52 | 内容53 | 内容54 | 内容55 |
既存のエクセル内の表に対して
A.一番上の行を見出し行と見なし,黒背景白文字ボールドセンタリングを行う
B.2行目以下について,偶数行と奇数行で背景色を交互に塗り分け
を実現
ここで,実装するべき機能は
1.選択されたセルを開始位置として,そこから表が続く限り処理を繰り返す
(表が終われば処理終了)
2.1つめのif文で1行目か否かを判別し,1行目ならばAの処理を実行
3.2つめのif文で2行目移行と判別できたら,その行が奇数行か偶数行か判別
3-1.奇数行だった場合,少し薄めの色で背景を塗る
3-2.偶数行だった場合,奇数行よりも少し濃いめの色で背景を塗る
です.
1.横方向に移動し,セルの内容を表示するプログラム
Sub ironuri1() Do While Not (ActiveCell.Value = "") MsgBox ActiveCell.Value ActiveCell.Offset(0, 1).Select Loop End Sub2.縦方向に移動し,セルの内容を表示するプログラム
Sub ironuri2() Do While Not (ActiveCell.Value = "") MsgBox ActiveCell.Value ActiveCell.Offset(1, 0).Select Loop End Sub3.横方向に移動し,セルの内容を表示するプログラム
+行末までたどり着いたら自動的に改行
Sub ironuri3() Do While Not (ActiveCell.Value = "") MsgBox ActiveCell.Value ActiveCell.Offset(0, 1).Select Loop ActiveCell.Offset(1, 0).Select End Sub4.横方向に移動し,セルの内容を表示するプログラム
+行末までたどり着いたら自動的に改行
+表の左端まで移動
Sub ironuri4() Do While Not (ActiveCell.Value = "") MsgBox ActiveCell.Value ActiveCell.Offset(0, 1).Select Loop ActiveCell.Offset(1, -5).Select End Sub5.横方向に移動し,セルの内容を表示するプログラム
+行末までたどり着いたら自動的に改行
+「任意の大きさの」表の左端まで移動
Sub ironuri5() Dim i As Integer i = 1 Do While Not (ActiveCell.Value = "") MsgBox ActiveCell.Value ActiveCell.Offset(0, 1).Select i = i + 1 Loop ActiveCell.Offset(1, (-i + 1)).Select End Sub6.横方向に移動し,セルの内容を表示するプログラム
+行末までたどり着いたら自動的に改行
+「任意の大きさの」表の左端まで移動
+移動後の行に対しても同様の処理を行う
=任意の表の各セル全範囲を移動し,セルの内容を表示するプログラム
Sub ironuri6() Do While Not (ActiveCell.Value = "") Dim i As Integer i = 1 Do While Not (ActiveCell.Value = "") MsgBox ActiveCell.Value ActiveCell.Offset(0, 1).Select i = i + 1 Loop ActiveCell.Offset(0, (-i + 1)).Select ActiveCell.Offset(1, 0).Select Loop End Sub7.任意の表の各セル全範囲を移動し,セルの内容を表示するプログラム
+行数把握
Sub ironuri7() Dim j As Integer j = 1 Do While Not (ActiveCell.Value = "") Dim i As Integer i = 1 Do While Not (ActiveCell.Value = "") MsgBox ActiveCell.Value & ", " & j & "行目" ActiveCell.Offset(0, 1).Select i = i + 1 Loop ActiveCell.Offset(0, (-i + 1)).Select ActiveCell.Offset(1, 0).Select j = j + 1 Loop End Sub8.任意の表の各セル全範囲を移動し,セルの内容を表示するプログラム
+行数把握
+1行目とその他の行で処理分岐
Sub ironuri8() Dim j As Integer j = 1 Do While Not (ActiveCell.Value = "") Dim i As Integer i = 1 Do While Not (ActiveCell.Value = "") If j = 1 Then MsgBox ActiveCell.Value & ", " & j & "行目(見出し行です)" Else MsgBox ActiveCell.Value & ", " & j & "行目(見出し行ではありません)" End If ActiveCell.Offset(0, 1).Select i = i + 1 Loop ActiveCell.Offset(0, (-i + 1)).Select ActiveCell.Offset(1, 0).Select j = j + 1 Loop End Sub9.任意の表の各セル全範囲を移動し,セルの内容を表示するプログラム
+行数把握
+1行目とその他の行で処理分岐
+2行目以降の奇数行・偶数行で処理分岐
Sub ironuri9() Dim j As Integer j = 1 Do While Not (ActiveCell.Value = "") Dim i As Integer i = 1 Do While Not (ActiveCell.Value = "") If j = 1 Then MsgBox ActiveCell.Value & ", " & j & "行目(見出し行です)" Else If (j Mod 2) = 1 Then MsgBox ActiveCell.Value & ", " & j & "行目(見出し行ではありません)(奇数行)" Else MsgBox ActiveCell.Value & ", " & j & "行目(見出し行ではありません)(偶数行)" End If End If ActiveCell.Offset(0, 1).Select i = i + 1 Loop ActiveCell.Offset(0, (-i + 1)).Select ActiveCell.Offset(1, 0).Select j = j + 1 Loop End Sub10.任意の表の各セル全範囲を移動し,セルの内容を表示するプログラム
+行数把握
+1行目とその他の行で処理分岐
+2行目以降の奇数行・偶数行で処理分岐
+各行にあわせた処理を記述
Sub ironuri10() Dim j As Integer j = 1 Do While Not (ActiveCell.Value = "") Dim i As Integer i = 1 Do While Not (ActiveCell.Value = "") If j = 1 Then MsgBox ActiveCell.Value & ", " & j & "行目(見出し行です)" ActiveCell.Font.Bold = True ActiveCell.Font.ColorIndex = 2 ActiveCell.Interior.ColorIndex = 1 Else If (j Mod 2) = 1 Then MsgBox ActiveCell.Value & ", " & j & "行目(見出し行ではありません)(奇数行)" ActiveCell.Interior.ColorIndex = 15 ActiveCell.BorderAround ColorIndex:=1 Else MsgBox ActiveCell.Value & ", " & j & "行目(見出し行ではありません)(偶数行)" ActiveCell.Interior.ColorIndex = 48 ActiveCell.BorderAround ColorIndex:=1 End If End If ActiveCell.Offset(0, 1).Select i = i + 1 Loop ActiveCell.Offset(0, (-i + 1)).Select ActiveCell.Offset(1, 0).Select j = j + 1 Loop End Sub
0 件のコメント:
コメントを投稿