VBA

久々のVBA だったので メモ

VBA

Sub gogo() Dim i As Integer Dim Kusrasu As StringKusrasu = "tukioka" Dim num_1 As IntegerDim num_2 As Integer Dim loop_num As Integer num_1 = 1 ' 学年num_2 = 1 ' クラス loop_num = 23 'クラス人数 'Trim(str(num_1)) Trim => スペース削除 str =…

楽天 作業 fa??k バナー追加作業

Sub add() Dim i As Long For i = 2 To Cells(Rows.Count, 2).End(xlUp).Row Cells(i, 24).Value = Cells(i, 24).Value & "<p style=""margin:25px 0 25px 0px;""><img src=""https://image.rakuten.co.jp/gift-concierge/cabinet/b-nn/recycling.jpg"" width=""418"" height=""236""></p>" Cells(i, 25).Value = Cells(i, …

VBA イベントWorksheet_Change 数値入力判別チェック フィルドラッグ対応

Private Sub Worksheet_Change(ByVal Target As Range) ' イベント 値が変わったら フィルドラッグ対応 '範囲が1と複数を分岐させて、複数のtarget = コピペや フィルドラッグなどには foreach で回す Dim c As Object If Target.Column = 8 Then ' H列 If …

VBA イベントWorksheet_Change 数値入力判別チェック

'シートモジュールに記述 シートモジュール出し方 シートタブの上で「右クリック」→「コードの表示」に記述 Private Sub Worksheet_Change(ByVal Target As Range) ' イベント 値が変わったら If Target.Column = 8 Then ' H列 If Target.Value = "" Then Ta…

VBA 作業済み チェック 判定

VBA

Sub colorCheck() ' ・値が入っていなかったら 塗りつぶしなし ・入っていたら 「黄色」 Dim i As Long For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row If Range("H" & i).Value = "" Then Range("B" & i).Interior.ColorIndex = 0 ' 塗りつぶしなし Else…

VBA 文字列 チェック 色を付ける

VBA

Sub color() 'D列に 文字列 男の子 => 隣のC列を「青」 女の子だったら 「赤」 Dim i As Long For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row If Range("D" & i).Value = "男の子" Then Range("C" & i).Interior.ColorIndex = 5 '青 ElseIf Range("D" & i…

VBA 空のセルがあったら その 行を削除 メモ

Sub kuuhaku_sakuzyo() Dim i As Long For i = 2 To Cells(Rows.Count, 4).End(xlUp).Row If Cells(i, 4) = "" Then 'セルが空なら Range(i & ":" & i).Delete '行を削除 End If Next i End Sub

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…