VBA

VBA_グラフの種類

ChartType プロパティでグラフの種類を設定する。設定する際は、XlChartType クラスの定数を使用。 XlChartType 名前 値 説明 xl3DArea -4098 3-D 面 xl3DAreaStacked 78 3-D 積み上げ面 xl3DAreaStacked100 79 100% 積み上げ面 xl3DBarClustered 60 3-D 集…

VBA_散布図の挿入

ChartType を xlXYScatter にすればよい。 ActiveSheet.Shapes.AddChart.Chart.ChartType = xlXYScatter 他の散布図にしたい時は以下の値を設定する。 xlXYScatterLines :折れ線付き xlXYScatterLinesNoMarkers :折れ線付き (データ マーカーなし) xlXYSca…

VBA_Range オブジェクトの Top Left Width Height

1 pt ≒ 0.35 mm セルを基準として、グラフなどの位置や大きさを設定する時に使用。 ※読み取り専用。※列幅や行高さを変えたい時は Columns、Rows を使う。 Range.Top 行 1 の上端から、セル及びセル範囲の上端までの距離をポイント単位で返す。 Range.Left 列…

VBA_グラフの大きさを設定

グラフの作成、位置設定の続き。 ChartObject の Width プロパティと Height プロパティに任意の値を代入する。 以下を使う。 Shape.Width Shape.Height ・Width がグラフ ( オブジェクト ) の幅。Height が高さ。 ポイント単位で値を設定・取得。 ・数値を…

VBA_Shape. の Top と Left プロパティ

ポイント単位で値を取得・設定。1 pt ≒ 0.35 mm1 mm ≒ 2.83 pt Shape.Top Shape.Left Shape オブジェクトは、 Shapes コレクションのメンバ ( 構成要素 ) 。Shapes コレクションには、ブック全ての図形が含まれる。 オートシェイプ・フリーフォーム・OLE オ…

VBA_グラフの位置を設定

下記を使う。 ChartObjects(1).Top = Range("セル番地").TopChartObjects(1).Left = Range("セル番地").Left ・グラフ移動・削除などは、ChartObject を操作。・この (1) は、シートに含まれる埋め込みグラフのインデックス番号。 ex)棒グラフを作成し、test…

VBA_グラフに名前を設定

作成する時に、グラフのサイズや位置設定を行いたかったが作成時の Chart を操作するのではなく、ChartObject を使うらしい。 ChartObject(1).Name この (1) は、シートに含まれる埋め込みグラフのインデックス番号。シートに ChartObject が 1 つしかないな…

VBA_With とは

主語 ( 操作対象 ) を省略して書く、という宣言 ( ステー トメント ? ) 。 このような文は、 彼は身体が細くて彼は身体が折れやすくて彼は色は黒くて彼は種類が複数あって彼は数が沢山いて彼は存在が単独では意味がないんです。 主語が同じなので下記の様に…

VBA_棒グラフを挿入

・アクティブシートの中央に挿入される。・実行後、グラフは選択状態ではない。 ActiveSheet.Shapes.AddChart ※ 標準グラフ ( 一般的に棒グラフ ) が作成される。 ActiveSheet.Shapes.AddChart.Chart.ChartType = xlColumnClustered ※ 折れ線グラフの場合は…

VBA_アクティブセルとは

・1 つのセルが選択された状態 ( のセル ) または・選択したセル範囲の中にある背景白のセル。 セルの選択 単数でもセル範囲でも Range が使用できる。 Range("A1").Select Range("A1:D4").SelectまたはRange("A1","D4").Select ※ シートが省略されているの…

VBA_ActiveSheetとは

操作対象となっているシートのこと。 通常は複数のワークシートがあるので、シートを指定してからセルの操作を行う。 ex )シート名 Sheet1 の A1 に Hoga を入力。 Worksheets("Sheet1").Range("A1").V alue = "Hoga" シート名を省略した場合は、ActiveSheet…

VBA_Dim と As

VBA でグラフ作成しよ、と思いサイト見たら一行目からつまづいた。でもこれ使わなかった。 Dim 変数名 As 型 変数 と 型 の宣言コード。Dim 句で変数の宣言。As 句で型の宣言。 As は省略することが出来るが、省略した場合は Variant 型 になる。 Variant は…

VBA_処理を繰り返す( Do や While や Until の違い)

VBAの繰り返し構文は Do がない構文とある構文がある。 Do ありは条件の判定を処理前か処理後か書き分けることができ、 [ Exit Do ]を用いることにより、ループの途中抜けることができる。 (使いどころとしては、Do文の中にあるIf文の中で Exit Do を記述す…

VBA_CSVファイルをエクセルファイルに書き込む

前書いたまとめ。詳しいコード説明は記事末尾のリンクから。 手順としては以下。 1.CSVファイル・エクセルファイルを開く2.CSVファイルのデータを1行ずつ読み込む3.読み込んだデータをエクセルファイルに書き込む 以下ソース。読み込むCSVの一行分のデー…

VBA_セルへの書き込み

CSVファイルのデータをエクセルに貼り付けるには、の続き 1.CSVファイル・エクセルファイルを開く2.CSVファイルのデータを1行ずつ読み込む3.読み込んだデータをエクセルファイルに書き込む 3.のコード↓ ( -ex-セルA2に値100を書き込む ) Workbooks("ファ…

VBA_Valueのありなし

Cells(2, 1) = hoge Cells(2, 1).Value = hoge 二つとも同じ挙動。( セルA2にhogeを入力 ) Cells(2,1) = hoge は、 Value が省略されているだけ。 ----【もう少し詳しく】------------------------------ VBA は以下の構文になる。 対象.様子(状態) = 値 対…

VBA_ファイルの読み込み(Input # と Line Input #)

CSVファイルのデータをエクセルに貼り付けるには、の続き 1.CSVファイル・エクセルファイルを開く2.CSVファイルのデータを1行ずつ読み込む3.読み込んだデータをエクセルファイルに書き込む 2.のコード↓。 Input #1, a, b, c, d または Line Input #1, x …

VBA_ファイルを開く

CSVファイルのデータをエクセルに貼り付けるには、 1.CSVファイル・エクセルファイルを開く 2.CSVファイルのデータを1行ずつ読み込む 3.読み込んだデータをエクセルファイルに書き込む 1.のコード↓。 Open "ファイルパス\ファイル名.csv" For Input As #…

VBA_IF文

VBAでのIF文の書き方。 範囲 C1:C8 において、aaa 文字を各ファイルごとに別の文字にするコード。 ※ ファイル名もシート名も記述する。 と、前の記事に書いたがIf以下のファイル名を省略しても想定通りに動いた…。 Sub ifthen() For i = 2 To 4 Workbooks.Op…

VBA_置換

VBA挑戦3。例によって置換する対象のファイル数が多いので。 Sub replace() i = 2 Workbooks.Open "絶対パス\hoge_" & i & ".xls" Workbooks("hoge_" & i & ".xls").Sheets("test001").Range("C1:C8") _ .replace What:="検索文字", Replacement:="置換文字"…

VBA_セルの切り取り貼り付け

切り取って貼り付ける範囲が大きく、ファイル数も多いのでVBAに挑戦2。 Sub move() Workbooks.Open "絶対パス \ hoge.xlsx" Workbooks("hoge.xlsx").Sheets("test001").Range("C1:C7") _ .Cut Destination:=Workbooks("hoge.xlsx").Sheets("test001").Range(…

VBA_ファイルのコピー(2007ver 拡張子は.xlsx)

hoge.xlsx を 10コピーしてファイル名を10回変更するという作業をやりたくなかった ので、VBAに挑戦。 Sub copy() For i = 2 To 10 FileCopy "絶対パス \ hoge.xlsx (コピー元)", "絶対パス \ hoge" & i & ".xlsx(コピー先)" Next iEnd Sub ※ 『 FileCopy "…