ExcelVBAへの道
 
第8章 コード例2
  1. 文字列を半角大文字にする
  2. 最終列、最終行を取得
  3. 範囲選択の変更
  4. リストのデータ数取得
  5. シートのすべてのデータを選択
  6. 画面のちらつき防止
  7. 重複データの削除
  8. 右側のシートをアクティブにする
  9. 貼り付ける
  10. コピーモード解除
  11. 可視セルデータのみコピーする
  12. 列の非表示
  13. セルに名前を定義する
  14. ブックを開く
  15. メッセージを出さない。
  16. ブックを非表示にする。
  17. アクティブブックを最大化
  18. タイトル名変更
  19. ステータスバーにメッセージを出す
  20. フォーム上のリストボックスにデータを読み込む
  21. ワークシート上のリストボックスへのデータ取り込み
  22. スピンボタンの値をテキストボックスに代入
  23. 縦方向のループ
  24. アクティブセルの文字を太字にする
  25. 行・列を削除する
  26. 選択範囲の行数を数える
  27. アクティブセルの行・列全体を選択する
  28. コピー、切り取り、貼り付け
  29. 空白セルを挿入する
  30. 空白セルを削除する
  31. アクティブシート名をセルに出力
  32. ワークシートをアクティブにする
  33. 全てのワークシート名をセルに出力する
  34. 最後のシートの後ろに新しいシートを追加する
  35. シート3をコピーしてシート1の前に追加する
  36. シート1のデータをシート2に貼り付ける
  37. アクティブシートを削除する
  38. シートに名前を付けて保存する
  39. シートの保護
  40. ブックを開く
  41. 全てのブックを閉じる
  42. ブックを指定して閉じる
  43. ブックを上書き保存する
  44. ブックを別名保存する
  45. 新しいウィンドウを開く
  46. アクティブウィンドウを閉じる
  47. アクティブウィンドウの大きさ固定
  48. エクセルを終了する
  49. 全画面表示
  50. RGBで色設定
  51. RBGコードで色設定
  52. フォントサイズを設定
  53. フォントの書式設定
  54. 罫線で格子を引く
  55. 罫線の種類を設定する
  56. 書式クリア
  57. アクティブシートを印刷する
  58. 印刷プレビュー
  59. 用紙を横に設定する
  60. 印刷範囲を設定
  61. フォームの表示位置
  62. コンボボックスにリストを設定
  63. インプットボックスのデータを取得
  64. ダイアログボックスを表示
  65. 型変換
  66. 文字列を数値に変換
  67. 数値を文字列に変換
  68. Rエラー番号の意味を表示する
  69. 日付の年・月・日を表示する
  70. 時刻の時・分・秒を表示する
  71. 日付の曜日番号を表示する
  72. 現在の日付・時刻・日時を表示する
  73. 文字列の長さを表示する
  74. 文字列を左から取得する
  75. 文字列を右から取得する
  76. 文字列の指定位置から取得する
  77. 文字列の形式を変換する
  78. 文字コードで文字を指定する
  79. テキストを読み込む
  80. セル内容を検索する
  81. 違うシートに移動して自動的にスクロールする
  82. 10から100までの間で乱数を取得する
  83. イベントの発生を止める
  84. ビープ音を鳴らす。
  85. 例3へ移動
アクティブシート名をセルに出力
Range("A1").Value = ActiveSheet.Name

ワークシートをアクティブにする
WorkSheets("Sheet2").Activate

全てのワークシート名をセルに出力する
Dim I As Integer
For n = 1 To WorkSheets.Count
ActiveSheet.Cells(n,1) = Worksheets(n).Name
Next

最後のシートの後ろに新しいシートを追加する
Worksheet.Add After:=Worksheets(Worksheets.Count)

シート3をコピーしてシート1の前に追加する
Worksheets("Sheet3").Copy Before:=Worksheets("Sheet1")

シート1のデータをシート2に貼り付ける
Worksheets("Sheet1").Range("A1:D9").Copy
Worksheets("Sheet2").Paste

アクティブシートを削除する
ActiveSheet.Delete

シートに名前を付けて保存する
Dim MySheet As Worksheet
Set MySheet = Worksheets.Add
MySheet.SaveAs Filename:="シート保存.xls"

シートの保護
Activesheet.Protect Password:="パスワード"

ブックを開く
Workbooks.Open("Book2.xls")

全てのブックを閉じる
Workbooks.Close

ブックを指定して閉じる
Workbook("Book2.xls").Close

ブックを上書き保存する
ActiveWorkbook.Save

ブックを別名保存する
ActiveWorkbook.SaveAs Filename:="別名保存.xls"

新しいウィンドウを開く
ActiveWorkbook.NewWindow

アクティブウィンドウを閉じる
ActiveWindow.Close

アクティブウィンドウの大きさ固定
ActiveWindow.EnableResize = False

エクセルを終了する
Application.Quit

全画面表示
Application.DisplayFullScreen = True

RGBで色設定
Range("A1:C9").Font.Color = RGB(255,0,0)
Range("A1:C9").Interior.Color = RGB(255,0,0)

RGBコード
0 黒
1 青
2 緑
3 シアン
4 赤
5 マゼンタ
6 黄
7 明るい灰色
8 灰色
9 明るい青
10 明るい緑
11 明るいシアン
12 明るい赤
13 明るいマゼンタ
14 明るい黄
15 白

RBGコードで色設定
Range("A1:C9").Interior.Color = QBColor(15)

フォントサイズを設定
Range("A1").Font.Size = 24

フォントの書式設定
Range("A1").Font.Name = "MS 明朝"

罫線で格子を引く
Range("A1:D9").Borders.Weight = xlThick
Range("A1:D10").Borders.Weight = xlHairline
Range("A1:D11").Borders.Weight = xlThin
Range("A1:D12").Borders.Weight = xlMedium

罫線の種類を設定する
Range("A1:D12").Borders.LineStyle = xlDash
Range("A1:D13").Borders.LineStyle = xlContinuous
Range("A1:D14").Borders.LineStyle = xlDashDot
Range("A1:D15").Borders.LineStyle = xlDashDotDot
Range("A1:D16").Borders.LineStyle = xlDot
Range("A1:D17").Borders.LineStyle = xlDouble
Range("A1:D18").Borders.LineStyle = xlSlantDashDot
Range("A1:D19").Borders.LineStyle = xlLineStyleNone

書式クリア
Range("A1:D19").ClearFormats

アクティブシートを印刷する
ActiveSheet.PrintOut

印刷プレビュー
ActiveSheet.PtintPreview

用紙を横に設定する
ActiveSheet.PageSetup.Orientation = xlLandscape

印刷範囲を設定
Sheet1.PageSetup.PrintArea = "A1:F7"

フォームの表示位置
UserForm1.StartUpPosition = 0
UserForm1.StartUpPosition = 1
UserForm1.StartUpPosition = 2
UserForm1.StartUpPosition = 3

コンボボックスにリストを設定
ComboBox1.ListFillRange = "A1:A9"

インプットボックスのデータを取得
Dim Mymsg As String
Mymsg = InputBox("文字を入力")

ダイアログボックスを表示
Dialogs(xlDialogOpen).Show

型変換
ActiveSheet.Cells(1,1).Value = Cbyte("25")
ActiveSheet.Cells(1,1).Value = CInt(1234.567)
ActiveSheet.Cells(1,1).Value = CLng("123.456789")
ActiveSheet.Cells(1,1).Value = CSng("1.2345678")
ActiveSheet.Cells(1,1).Value = CDbl("1.23456677")
ActiveSheet.Cells(1,1).Value = CStr(12345)
ActiveSheet.Cells(1,1).Value = Cdate("2004/2/2")
ActiveSheet.Cells(1,1).Value = Ccur(1234)
ActiveSheet.Cells(1,1).Value = Cvar(I & "50")

文字列を数値に変換
Range("A1").Value = Val("123456")

数値を文字列に変換
Range("A1").Value = Str(12345)

エラー番号の意味を表示する
ActiveCell.Value = Error(52) ファイル名または番号が不正です。

日付の年・月・日を表示する
ActiveCell.Value = Year("平成13年2月2日")
ActiveCell.Value = Month("平成13年2月3日")
ActiveCell.Value = Day("平成13年2月4日")

時刻の時・分・秒を表示する
ActiveCell.Value = Hour("午後1時45分32秒")
ActiveCell.Value = Minute("午後1時45分33秒")
ActiveCell.Value = Second("午後1時45分34秒")

日付の曜日番号を表示する
ActiveCell.Value = WeekDay("平成15年4月16日")
1は日曜日
2は月曜日
3は火曜日
4は水曜日
5は木曜日
6は金曜日
7は土曜日

Dim Myday As Integer
Myday = WeekDay("平成15年3月3日")
Select Case Myday
Case 1
ActiveCell.Value = "日曜日"
Case 2
ActiveCell.Value = "火曜日"
End Select

現在の日付・時刻・日時を表示する
ActiveCell.Value = Date
ActiveCell.Value = Time
ActiveCell.Value = Now

文字列の長さを表示する
Dim str As String
str = "あいうえお"
ActiveCell.Value = Len(str)
ActiveCell.Value = LenB(str)

文字列を左から取得する
Dim str As String
str = "ABCDEFG"
ActiveCell.Value = Left(str,3) ABC

文字列を右から取得する
Dim str As String
str = "ABCDEFG"
ActiveCell.Value = Right(str,3)

文字列の指定位置から取得する
Dim str As String
str = "ABCDEFG"
ActiveCell.Value = Mid(str,3,4)

文字列の形式を変換する
Dim str As String
str = "ABCDEFG")
ActiveCell.Value = strConv(str,vbWide)

vbUpperCase アルファベットを大文字に
vbLowerCase アルファベットを小文字に
vbProperCase 先頭の文字を大文字に
vbWide 半角文字を全角文字に
vbNarrow 全角文字を半角文字に
vbKatakana ひらがなをカタカナに
vbHiragana カタナカをひらがなに
vbUnicode
vbFromUnicode

文字コードで文字を指定する
ActiveCell.Value = Chr(56)

テキストを読み込む
Workbooks.OpenText "C:\abc.txt")

セル内容を検索する
Dim x
With Range("A1:K40")
Set x = .Find(検索文字,LookIn:=xlValues)
If Not x Is Nothing Then
ActiveCell.Value = x
End If
End With

違うシートに移動して自動的にスクロールする
Applocation.Goto Worksheets("Sheet3").Rnage("A29"),True

10から100までの間で乱数を取得する
Dim n As Integer
ActiveCell.Value = Int(100-10+1)*Rand+10)

イベントの発生を止める
Application.EnableEvents = False

ビープ音を鳴らす。
Beep