VBA

VBA 特定の文字列の下に空白行を入れる

Sub add() Dim rNum As Long For rNum = Cells(Rows.Count, 5).End(xlUp).Row To 1 Step -1If Cells(rNum, 5).Value = "挨拶状希望" Then Rows(rNum + 1).InsertNext rNum End Sub

VBA 空白行の削除 メモ

Sub Delete_Rows_w_Blank() Dim GYO As Long Dim KuhakuGyo As Range Dim r As Long ' A列をみて表の最終行を取得する ------ ※1 GYO = Cells(Rows.Count, 1).End(xlUp).Row '2行目から最終行までB列のセルをチェックします With ActiveSheet For r = 2 To G…

VBA  置換 最終行までループ メモ

Sub cut() Dim i As Long Dim str As String For i = 2 To Cells(Rows.Count, 5).End(xlUp).Row Cells(i, 5).Value = Replace(Cells(i, 5).Value, "▼挨拶状(仏事用)の種類をお選びください", "▼挨拶状の種類をお選びください") Next i End Sub ------------…

VBA メモ 2018 11 07

Sub add() '18行 空ける Dim i As Long For i = Cells(Rows.Count, 1).End(xlUp).Row To 16 Step -1 Rows(i & ":" & i + 16).Insert Next i End Sub ----------------------------- '項目選択肢コピー ペースト Sub addcopy() Range("D1:E18").SelectSelecti…

VBA 判定 チェック メモ

VBA

Sub checkd() 'セル i が 空だったら セル AEに 1をいれる それ以外は 0Dim i As Integer For i = 2 To Cells(Rows.Count, 2).End(xlUp).Row If Cells(i, 9).Value = "" Then Cells(i, 32).Value = "1" Else Cells(i, 32).Value = "0" End If Next i End Sub

VBA 引数が省略された時の 2通りの処理

① 初期値を設定する Sub Sample10() Call hiki1("Excel") ①の呼び出し Call hiki2("VBA") ②の呼び出しEnd Sub Sub hiki1(msg As String, Optional n As Long = 7) Dim i As Long, buf As String For i = 1 To n buf = buf & msg & vbCrLf Next MsgBox bufEnd…

VBA 引数定義

・plSampleから、plプロシージャを呼び出し ・vbCrLf => 改行 Sub plSample() Call pl("Excel", 5)End Sub ------ Sub pl(msg As String, n As Long) Dim i As Long, buf As String For i = 1 To n buf = buf & msg & vbCrLf 'vbCrLf => 改行 Next MsgBox bu…

VBA 参照渡し 値渡し

Sub sansyou() '参照渡し=>変数そのものを渡す ・値渡し=>変数の値を渡す Dim buf As String Dim buf2 As String buf = "Excel VBA" buf2 = "Excel VBA" Call sansyou1(buf) Call sansyou2(buf) MsgBox buf MsgBox buf2End Sub Sub sansyou1(ByRef msg As St…

VBA プロシージャ Fnuction

Sub Sampletax() Dim i As Long For i = 2 To 7 Cells(i, 2).Value = Tax(Cells(i, 1).Value) NextEnd Sub '下で定義したFunction Taxを上のSubプロシージャで呼び出す Function Tax(Num As Long) As Long Tax = Num * 1.08End Function

VBA 基礎

Range("A1:D8").Font.Color = vbWhite 'フォントカラー Range("A1:D8").Font.Bold = True 'フォントの太字 Range("A1:D8").Font.Size = 28 'フォンtサイズ Range("A1:D8").Font.Interior.Color = vbRed 'セルを塗りつぶす Range("A1:D8").Borders.LineStyle …

VBA セルの値でフォルダ作成

Sub mkdir_go() Dim i For i = 1 To 20 MkDir ThisWorkbook.Path & "\" & Cells(i, 1).Value 'フォルダ作成 NextEnd Sub

VBA

Private Sub kat() Application.ScreenUpdating = False 'VBAの速度を早くする Dim i With Sheets("データ追加") 'セルのシート一括指定 For i = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row .Cells(i, 6) = Left(.Cells(i, 1), 4) 'A列の左から4文字を抽出 …

VBA FOR With VLookup

VBA

Option Explicit Private Sub kat() Application.ScreenUpdating = False 'VBAの速度を早くする Dim i With Sheets("データ追加") 'セルのシート一括指定 For i = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row .Cells(i, 6) = Left(.Cells(i, 1), 4) 'A列の左…

VBA For 何行目までの処理にするかを、自動確認させる

VBA

For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row

VBA コーディングメモ

VBA

Sub ボタン1_Click() ' ファイル選択ダイアログで画像ファイルを選択する vntFileName = _ Application.GetOpenFilename( _ Title:="画像を選択", MultiSelect:=False _ ) ' ファイルパスがあれば If Len(vntFileName) > 0 Then 'MsgBox vntFileName Set tar…