ExcelVBAへの道 第8章 コード例3
|
マクロへのショートカットキーの追加 マクロダイアログボックスでマクロ名選択後、右下のオプションボタンをクリックして マクロオプションダイアログボックスで設定する。 マクロの実行キー(ショートカットキー) はマクロ本体とは別に管理されている。 InsertProcプロシージャ を Ctrl + a キーに、 SpecialPrintProcプロシージャ を Shift + Ctrl + → キーに登録します。 Application.OnKey "^{a}", "InsertProc" Application.OnKey "+^{RIGHT}", "SpecialPrintProc" 形式を選択して貼り付け PasteSpecial(Paste,Operation,SkipBlanks,Transpose) Selection.PasetSpecial(xlPasteValues) もしくは、名前付き引数での指定だと Selection.PasteSpecial Paste:=xlValues,SkipBlanks:=True (Paste) すべて 数式 値 書式 コメント 入力規則 罫線を除くすべて 列幅 数式と数値の書式 値の数値の書式 (Operation) なし 加算 減算 乗算 除算 (SkipBlanks) True False (Transpose) True False セルへ入力省略形 [A1] = "文字列" [B2].Offset(4) = 1234567 範囲指定した領域に一度で計算式を相対指定する Selction.FormulaR1C1 = "=RC[-2]*RC[-1]" クリア Selection.Clear 'すべて Selection.ClearFormats '書式 Selection.ClearContents ’数値と値 Selection.ClearComments 'コメント 行を非表示 Row(2).Hidden = True Row("2:5").Hidden = True Selection.Rows.Hidden = True シート1をシート3の後ろにコピーする Worksheets("Sheet1").Copy After:=Worksheets("Sheet3") シート1をシート3の後ろに移動する Worksheets("Sheet1").Move After:=Worksheets("Sheet3") シートの最後に新しいシートを追加する Sheets.Add After:=Sheets(Sheets.count) ブック保存 Workbooks("ブック保存名.xls").Save Activeworkbook.SaveAs Filename:="ブック保存名" 変更が加えられると自動保存して閉じる ActiveWorkbook.Close SaveChanges:=True 複合条件を設定する If Time >= TimeSerial(5,0,0) And Time < TimeSerial(12,0,0) Then ActiveCell.Value = "複合条件" End If 個人用マクロブックについて Personal.xlsが作成保存されている場合 メニューのウィンドウ>再表示 ドロップダウンリストからチェックすると再表示される。 通常は非表示に設定されてる。 ブックを開くと自動実行するようにする ThisWorkbookオブジェクトのOpenイベントで Private Sub Workbook_Open() End Sub アドインファイルにするには 名前を付けて保存>ファイルの種類>*xla>ファイル名をつけて保存する 年齢を求めるVBA関数 DateDiff("YYYY",開始日,終了日) ActiveCell.Value = DateDiff("YYYY",TextBox1.Text,Date) コンボボックスにリストを設定する Private Sub UserForm_Initialize() With ComboBox1 .AddItem "リスト1" .AddItem "リスト2" .AddItem "リスト3" .AddItem "リスト4" End With End Sub リストボックスに日時を設定する Private Sub UserForm_Initialize() For n = 0 To 9 ListBox1.AddItem Format(Date + n ,"yyyy/mm/dd") Next n ListBox1.ListIndex = 0 End Sub RefEditでセル範囲を取得する Range(RefEdit1.Text).Address(False,False) |