複雑な条件分岐にSelect Caseの裏技を使う (Excel 97/2000/2002/2003/2007/2010/2013/2016) セルの値が「100だったら」「そうでなかったら」という二値で処理を分岐するには、Ifステートメントを使います。 Sub Sample1() If Range("A1").Value = 100 Then MsgBox "100です" Else MsgBox "100ではありません" End If End Sub 二値ではない条件で処理を分岐するときはSelect Caseを使います。 Sub Sample2() Select Case Range("A1").Value Case Is < 50 MsgBox "50未満です" Case 50 MsgBox "50です" Case Is > 50 MsgBox "50超です" End Select
DateSerial関数を次のように利用すると、今月/前月/翌月の月末日を取得することができます。 ●サンプル● Sub Sample() '今月の月末日 MsgBox DateSerial(Year(Date), _ Month(Date) + 1, 0) '前月の月末日 MsgBox DateSerial(Year(Date), _ Month(Date), 0) '翌月の月末日 MsgBox DateSerial(Year(Date), _ Month(Date) + 2, 0) End Sub ●詳細● DateSerial関数の構文と引数は以下のようになっています。 <構文> DateSerial(year, month, day) 指定項目 内容 year 必ず指定します。 整数型(Integer)のデータ形式で指定します。 年を表す100~9999の範囲の数値または数式を 指
グラフの操作は理解しにくいマクロのひとつです。 グラフは複数のパーツが重なり合って構成されていますので、マクロ記録だけではどんなプロパティでどのパーツを操作するかがわかりにくいからです。 またグラフの操作をマクロ記録すると、次のように一度グラフを選択してから、選択したグラフに対してのコードが記録されます。 次のコードは、棒グラフの系列色を赤に変更する操作のマクロ記録結果です。 (コメント部分は省略しています) Sub Macro1() ActiveSheet.ChartObjects("グラフ 1").Activate ActiveChart.SeriesCollection(1).Select ActiveChart.SeriesCollection(1).Points(1).Select With Selection.Interior .ColorIndex = 3 .Pattern
即効テクニックでは、随時テクニックの追加・見直しを行っております。 更新コンテンツは、即効テクニックトップページでご確認ください。 ⇒ 即効テクニック トップページ
グラフの種類を定数値で設定します。Chartオブジェクトを対象にした場合には、グラフ全体に適用され、Seriesオブジェクトを対象にした場合には、対象のデータ系列だけに適用されます。使用する定数に関しては、下の表を参照してください。 構文 Object.ChartType 設定/取得 設定項目 内容 Object Chart、Seriesオブジェクト [省略不可] ・ChartTypeプロパティで使用する定数一覧表(XlChartTypeクラス) グラフの種類 詳細 定数 縦棒 集合縦棒 xlColumnClustered 3-D集合縦棒 xl3DcolumnClustered 積み上げ縦棒 xlColumnStacked 3-D積み上げ縦棒 xl3DcolumnStacked 100%積み上げ縦棒 xlColumnStacked100 3-D100%積み上げ縦棒 xl3DcolumnSt
サブフォルダを含めてファイル一覧を取得する(Dir関数の再帰呼び出し) (Excel 97/2000/2002/2003/2007) ツイート あるプロシージャが、そのプロシージャ内で自分自身を呼び出すような処理を再帰呼び出しと呼びます。 たとえば、簡単にいうなら次のようなパターンです。 Sub Sample1() ''何かの処理 : Call Sample1 : ''何かの処理 End Sub 再帰呼び出しを利用するのは「○○について××する」というようなケースが多いです。 このうち「××する」部分は共通ですが「○○について」の"○○"が定まっておらず次々と動的に変化します。 ここでは「"指定したフォルダ"について"存在するファイル名をセルに代入"する」というマクロを、再帰呼び出しで作成してみましょう。 なお、ここでは次のようなフォルダ構造を例にします。 C:\Work +- Sub1
次のマクロをご覧ください。 Private Target As String Sub Sample1() Dim i As Long For i = 1 To 100 If Cells(i, 1) = 99 Then Target = Cells(i, 1).Address End If Next I End Sub Sub Sample2() If Target <> "" Then MsgBox "見つかったセルは" & Target & "です" Range(Target).Select End If End Sub プロシージャSample1は、セル範囲A1:A100を調べて「99」が入力されているセルを見つけ出し、そのアドレスをモジュールレベル変数Targetに格納しています。 もうひとつのプロシージャSample2は、モジュールレベル変数Targetに格納されているアドレスをユ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く