エックスサーバーを登録してみた
こんにちは
今日はエックスサーバーを登録してみます。
今ならドメインが無料だそうで、この機会を逃がすわけにはいかない。
ついでに10日間無料!!これもでかいw
早速申し込むことに・・・
するとこんなものが
プランにX10,X20,X30ってなんぞ?
調べてみると各プランごとに容量が異なる模様
今回はX10を選択
各項目を記入後、下のようなメールが送られてきました。
どうやら試用期間は10日後、もしくは料金を支払うまでのようですね。
急いで振り込まなくて良かったw
とりあえず半年分で契約するとして、期間内に色々遊んでみたいと思います。
【VBA】行列の追加・削除
こんにちは
今日は行と列の追加と削除です。
追加はInsert、削除はDeletを使用します。
追加や削除を行う際にシフトをどうするかを設定する必要があります。
削除
削除にはDleteを使用します。
Range("A1").Delete
こんな感じです。
ただ、このままでは上方向にシフトされてしまうため
Range("A1").Delete Shift:=xlToLeft
といったように方向を指定してあげましょう。
左にシフト
範囲.Delete Shift:=xlToLeft
上にシフト
範囲.Delete Shift:=xlUp
行全体をシフト
範囲.EntireRow.Delete
列全体をシフト
範囲.EntireColumn.Delete
挿入
挿入はInsertを使用します。
Range("A1").Insert Shift:=xlToLeft
右にシフト
範囲.Insert Shift:=xlToRight
下にシフト
範囲.Insert Shift:=xlDown
行全体をシフト
範囲.EntireRow.Insert
列全体をシフト
範囲.EntireColumn.Insert
こんな感じです。
削除と挿入ではセルのシフトできる方向が異なるため注意しましょう。
【VBA】文字の置き換え
こんにちは
今日は文字の置き換えです。
文字の置き換えにはReplace関数を使用します。
Replace(対象の文字列,検索する文字,置き換える文字)
のように書いていきます。
サンプルプログラム
Sub test() Dim 文字列 As String 文字列 = "abc" MsgBox Replace(文字列, "c", "d") End Sub |
ちなみに文字列に置き換えるべき文字がない場合でもエラーにはなりません。
安心して使えますねw
では少し変更してこんなのはどうでしょうか?
Sub test() Dim セル, A As Range Set セル = Cells.Find(what:="*") Set A = セル If セル Is Nothing Then Exit Sub Else Do セル.Value = Replace(セル, "A", "C") Set セル = Cells.FindNext(セル) Loop Until A.Address = セル.Address End If End Sub |
これはすべてのセルを見てAが含まれていればCに変更するといったものです。
これはセル全体に指定していますが、範囲を指定することも可能です。
【VBA】Select Case ステートメント
こんにちは
今日はSelect Case ステートメントです。
If文を使用していて
If 変数 = 1 Then
Elseif 変数 = 2 Then
Elseif 変数 = 3 ...
なんてことありませんか?
ひとつの式や変数に対して条件を分岐させたい
そんなときはSelect Caseを使用してみましょう。
サンプルプログラム
Sub test() Case Else |
これは前回のMsgBoxを使用したものです。
各ボタンを押された結果を変数に代入し、その結果から各条件で処理をするといったものです。
Select Caseの書き方はこんな感じです。
Select Case 変数
Case 条件
条件に一致した場合の処理
End Select
場合によってはElseを使用して下のように書く場合もあります
Select Case 変数
Case 条件
条件に一致した場合の処理
Case Else
条件に不一致だった場合の処理
End Select
このSelect Caseを使用することでだいぶとすっきりとしたコードになりますね。
ちなみにサンプルプログラムのCase Elseは閉じるボタンを押された場合の処理を記載したのですが、閉じるボタンを押した場合キャンセルと同様に扱われるようです。知らなかったw
MsgBox関数 2
こんにちは
引き続きMsgBoxの説明です。
MsgBoxでYes,Noを設定してもその後の処理がないと意味がないですよね。
というわけで結果を取得するようなプログラムを作成してみましょう。
そもそもMsgBoxの結果ってどうやって取得するの?
ここ重要ですよね。
MsgBoxでYes,No等を選択すると値を返します。
その値からMsgBoxで何を選択したのかを判断します。
どんな値を返すのかは以下の表にまとめました。
サンプルプログラム
ではサンプルを見てみましょう。
Sub test() Dim 入力結果 As Long 入力結果 = MsgBox("OKかCancelを押してください", vbOKCancel) If 入力結果 = vbOK Then MsgBox "OKが押されました" Else MsgBox "Cancelが押されました" End If End Sub |
これはただ単にMsgBoxでOK,Cancleボタンを押した結果を変数:入力結果に代入して、If文で判定するだけですね。
アイコンと各ボタンを追加する
前回説明忘れてました。
ボタンの追加とアイコンの追加、最初のボタンの選択状態を変更するプログラムを作成してみます。
Sub test() Dim 入力結果 As Long 入力結果 = MsgBox("OKかCancelを押してください", vbOKCancel + vbInformation + vbDefaultButton2) If 入力結果 = vbOK Then MsgBox "OKが押されました" Else MsgBox "Cancelが押されました" End If End Sub |
vbOKCancel + vbInformation + vbDefaultButton2
これはOK,Cancelのボタン追加+アイコンをインフォメーションに変更+2番目のボタンをアクティブに変更
という命令が書かれています。
その結果が下の状態ですね。
こんな感じです。
使いこなせるとカッコいいと思います。(語彙力