Microsoft Excel2010自動記録 | |||||||||
ファイル(F) | 編集(E) | 表示(V) | 挿入(I) | 書式(O) | ツ−ル(T) | デ−タ(D) | ウィンドウ(W) | ヘルプ(H) | TOP |
並び替え(S) フィルタ(F) ≫ フォ−ム(O) 集計(B) 入力規制(L) テ−ブル(T) 区切り位置(E) 統合(N) グル−プとアウトラインの設定(G) ピポットテ−ブルレポ−ト(P) 外部デ−タの取り込み(D) ≫ デ−タの更新(R) |
○「並び替え」のマクロ例 Sub Macro1() Range("B1").Select ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("B1"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Sheet1").Sort .SetRange Range("A1:C8") .Header = xlNo .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Range("E3").Select End Sub ■デ−タ範囲の1セルをアクティブにして、B列をキ−に昇順に並び替えたケ−スPageTop
オ−トフィルタ(F) すべて表示(S) フィルタ−オプションの設定(A) |
●「並び替え」のマクロ例 ●D2-1.オ−トフィルタ(C列に"k"文字がある行を選択) Sub Macro6() Range("C1").Select Selection.AutoFilter ActiveSheet.Range("$A$1:$C$15").AutoFilter Field:=3, Criteria1:="=*k*", _ Operator:=xlAnd End Sub -----------------------------------------------------PageTop
●D2-2.すべて表示(全デ−タを表示(矢印はそのまま)) Sub Macro1() ActiveSheet.ShowAllData End Sub Sub Macro1() ■ 並べ替えとフィルタ | クリアをクリック -----------------------------------------------------
●D2-3.フィルタ−オプションの設定 Sub Macro1() Range("C1").Select Range("A1:C15").AdvancedFilter Action:=xlFilterInPlace, Unique:=False End Sub
●「フォ−ム」のマクロ例 ★ 自動記録されないPageTop
●「小計」(Excel2003では集計)のマクロ例 Sub Macro4() Range("A6").Select Selection.Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(6), _ Replace:=True, PageBreaks:=False, SummaryBelowData:=True End Sub ■本例は、デ−タベ−スを集計したケ−ス(デ−タセルを選択してから実行)PageTop
●「入力規制」のマクロ例 Sub Macro1() Columns("A:A").Select With Selection.Validation .Delete .Add Type:=xlValidateDate, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, Formula1:="1/1/2009", Formula2:="1/1/2011" .IgnoreBlank = True .InCellDropdown = True .InputTitle = "" .ErrorTitle = "" .InputMessage = "" .ErrorMessage = "" .IMEMode = xlIMEModeNoControl .ShowInput = True .ShowError = True End With Range("F11").Select End Sub ■本例は、A列の日付入力を2009/1/1〜2011/1/1までに規制したケ−スPageTop
●「テ−ブル」のマクロ例 Sub Macro1() Range("B14:G19").Select Selection.Table RowInput:=Range("A15"), ColumnInput:=Range("A14") Range("A1").Select End Sub ■本例は、デ−タ範囲は("B14:G19")で"B14"に数式入れ、行代入セル("A15") で列代入セル("A14")でテ−ブル作成PageTop
●「区切り位置」のマクロ例 D7.区切り位置 Sub Macro3() Range("A1:A3").Select Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _ Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _ :=Array(Array(1, 1), Array(2, 1), Array(3, 1)), TrailingMinusNumbers:=True Range("A1").Select End Sub ■本例は、"A1:A3"セルのカンマ付きのテキストデ−タをExcelデ−タに変換PageTop
Sub Macro5() Selection.Consolidate Sources:=Array("'C:\tst\[統合.xls]Sheet1'!R2C1:R7C1", _ "'C:\tst\[統合.xls]Sheet2'!R1C4"), Function:=xlSum, TopRow:=False, _ LeftColumn:=False, CreateLinks:=False Range("B1").Select End Sub ■本例は、シート1とシート2のセル"A2:A7"のデ−タを統合し、"D1"へ貼り付けたケ−ス ◆Excel2003ではC:\tst\[統合.xls]のファイル名は無く、Sheet1'!R2C1:R7C1のみだった。PageTop
●「アウトラインのグループ化」のマクロ例 Sub Macro1() ActiveSheet.PivotTables("ピボットテーブル1").PivotSelect "週間[All]", xlLabelOnly, _ True Selection.Group Start:=True, End:=True, Periods:=Array(False, False, False, _ False, True, False, False) ActiveSheet.PivotTables("ピボットテーブル1").PivotSelect "週間[All]", xlLabelOnly, _ True Range("D3").Select End Sub -----------------------------------------------------------PageTop
●「アウトラインのグループ解除」のマクロ例 Sub Macro1() Selection.Ungroup ActiveSheet.PivotTables("ピボットテーブル1").PivotSelect "週間[All]", xlLabelOnly, _ True Range("A2").Select End Sub
○「ピポットテ−ブルレポ−ト」のマクロ例 Sub Macro1a() Range("A2").Select ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ "Sheet1!R1C1:R35C3", Version:=xlPivotTableVersion10).CreatePivotTable _ TableDestination:="Sheet1!R1C12", TableName:="ピボットテーブル1", _ DefaultVersion:=xlPivotTableVersion10 Sheets("Sheet1").Select Cells(1, 12).Select With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("日付") .Orientation = xlRowField .Position = 1 End With With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("製品名") .Orientation = xlColumnField .Position = 1 End With ActiveSheet.PivotTables("ピボットテーブル1").AddDataField ActiveSheet.PivotTables( _ "ピボットテーブル1").PivotFields("数量"), "合計 / 数量", xlSum End SubPageTop
■ TableDestination:=ActiveSheet.Name & "!R3C1", ・・・・ ■ Sheets(ActiveSheet.Name).Select ■ シート名「Sheet1」が記録されているが、上記のように追加されたシート名を ■ を読み取るマクロに変更しないとエラーになります。
保存したクエリの実行(D) 新しいWebクエリ(W) 新しいデ−タベ−スクエリ(N) テキストファイルのインポ−ト(T) クエリの編集(E) デ−タ範囲プロパティ(A) パラメ−タ(M) |
●「新しいWebクエリ」のマクロ例 Sub Macro1() With ActiveSheet.QueryTables.Add(Connection:= _ "URL;http://table.yahoo.co.jp/t?c=2011&a=11&b=11&f=2012&d=2&e=12&g=d&s=5401.t&y=0&z=5401.t&x=sb" _ , Destination:=Range("$A$1")) .Name = "t?c=2011&a=11&b=11&f=2012&d=2&e=12&g=d&s=5401.t&y=0&z=5401.t&x=sb" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .WebSelectionType = xlSpecifiedTables .WebFormatting = xlWebFormattingNone .WebTables = "10" .WebPreFormattedTextToColumns = True .WebConsecutiveDelimitersAsOne = True .WebSingleBlockTextImport = False .WebDisableDateRecognition = False .WebDisableRedirections = False .Refresh BackgroundQuery:=False End With Range("K10").Select End Sub ■ 本例はYahooファイナンスから、4501(新日鉄)の時系列株価を取得例です。PageTop
●「デ−タの更新」のマクロ例 Sub Macro1() ActiveWorkbook.RefreshAll End SubPageTop