| 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
-----------------------------------------------------
●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

●「フォ−ム」のマクロ例 ★ 自動記録されない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
-----------------------------------------------------------
●「アウトラインのグループ解除」のマクロ例
Sub Macro1()
Selection.Ungroup
ActiveSheet.PivotTables("ピボットテーブル1").PivotSelect "週間[All]", xlLabelOnly, _
True
Range("A2").Select
End Sub
PageTop

○「ピポットテ−ブルレポ−ト」のマクロ例
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 Sub
■ TableDestination:=ActiveSheet.Name & "!R3C1", ・・・・
■ Sheets(ActiveSheet.Name).Select
■ シート名「Sheet1」が記録されているが、上記のように追加されたシート名を
■ を読み取るマクロに変更しないとエラーになります。
PageTop
| 保存したクエリの実行(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 Sub
PageTop