ばくがの業務効率化チャンネル

このブログは個人的なエクセルの備忘録です

2023-01-01から1年間の記事一覧

スプレッドシートで重複判定

xn--t8j3bz04sl3w.xyz

スプレッドシートで重複を判定する

xn--t8j3bz04sl3w.xyz

各シートのA列の最終行の下に先月の月初を入力

VBA

Sub 対象月の記載() '画面停止Application.ScreenUpdating = False Dim i As Long Dim 先月 As String '先月の1日を取得 先月 = DateSerial(Year(Date), Month(Date) - 1, 1) 'すべてのシートに実行 For i = 1 To Sheets.Count With Worksheets("マスタシー…

各シートへの振分け

VBA

Sub シートへの振分け() '画面停止Application.ScreenUpdating = False Dim i As Long 'すべてのシートに実行 For i = 1 To Sheets.Count With Worksheets("マスタシート").Range("A2").CurrentRegion '1列目をシート名でフィルターをかける .AutoFilter Fie…

自動で引き算の問題を作成するVBA

自動で引き算の問題を作成するVBA B列には、ランダムな30までの数字を入力 C列には、ランダムな10までの数字を入力

Sub メモ帳に作成()

VBA

Sub メモ帳に作成()Dim i As Long 'ファイルを追記モードで開くOpen "C:\Desktop\新しいフォルダー (2).txt" For Append As #1 Print #1, "テストテスト"Print #1, "テストテスト"Print #1, "テストテスト"Print #1, "テストテスト"Print #1, "" '開いたファ…

列と列の重複判定

VBA

Sub 列と列の重複判定() Dim i As Long 'チェック記載用のループ変数 For i = 2 To 7 'シート3のA列と、シート1のC列を照合して1以上を抽出 If WorksheetFunction.CountIf(Sheet3.Range("A:A"), Sheet1.Cells(i, 3)) >= 1 Then 'シート1のD列に抽出結果を記…

VBAで集計_日付判定

VBA

Sub 〇〇カウント() ' 変数の宣言 Dim 日付 As Long Dim 集計 As Long Dim 集計2 As Long 集計 = WorksheetFunction.CountIfs(Range("A:A"), Date, Range("B:B"), "熊") 集計2 = WorksheetFunction.CountIfs(Range("A:A"), Date, Range("B:B"), "犬") For 日…

集計&集計

VBA

Sub 丸丸集計() '変数宣言 Dim カウント As Long Dim 日付 As Long 'オートフィルタの始点 With Range("A1") '日付はA列が今日の日付 .AutoFilter 1, xlFilterToday, xlFilterDynamic 'カテゴリはB列が犬 .AutoFilter 2, "犬" '可視化されているセルが1個以…

日付を古い順番に並び替え

=SORT(UNIQUE(TOCOL(Sheet1!A:A,1)))

集計

VBA

Sub 集計() '日付と種類の変数宣言 Dim 日付 As Long Dim 種類 As Long 'ワークシート宣言 Dim 管理シート As Worksheet Dim 集計シート As Worksheet 'ワークシート名設定 Set 管理シート = Sheet1 Set 集計シート = Sheet2 '集計シートの日付を先頭から最…

シート振り分け

Sub ProcessData() Dim myDic As Object, myKey ' 辞書オブジェクトとキーを宣言 Dim c, myVal ' 変数cとmyValを宣言 Dim i As Long ' カウンタ変数iを宣言 Dim mySh As Worksheet ' ワークシートオブジェクトmyShを宣言 Dim myFlg As Boolean ' フラグ変数m…

入力規則をコピーしないコピー

VBA

Range("F4").CopyRange("H5").PasteSpecial Paste:=xlPasteValuesAndNumberFormats

VBAでSharePointにファイルをアップロードする

www.mutable.work

別シートへのコピー

VBA

Sub セルをシート3にコピー() Dim シート1 As Worksheet Dim シート3 As Worksheet Dim 最終行 As Long Dim 現在日付 As String Dim i As Long ' シート1とシート3のワークシートを取得 Set シート1 = ThisWorkbook.Sheets("Sheet1") Set シート3 = ThisWork…

メモ帳に出力する

VBA

Sub TextOutput() Dim i As Long 'ファイルを書き込みで開く(無ければ新規作成される、あれば上書き) Open "C:\Desktop\test.txt" For Output As #1 '開いたファイルに書き込むPrint #1, Range("B3").ValuePrint #1, Range("B6").ValuePrint #1, Range("B9")…

シート間の転記

Sub セルをシート3にコピー() Dim シート1 As Worksheet Dim シート3 As Worksheet Dim 最終行 As Long Dim 現在日付 As String ' シート1とシート3のワークシートを取得 Set シート1 = ThisWorkbook.Sheets("Sheet1") Set シート3 = ThisWorkbook.Sheets("S…

メモ帳に出力

VBA

Sub メモ帳に出力() Dim 出力文字列 As String Dim ファイル名 As String Dim ファイル番号 As Integer Dim i As Integer Dim シート As Worksheet ' 対象のセルの値を取得 Set シート = ThisWorkbook.Sheets("Sheet1") ' シート名を適宜変更 出力文字列 = "…

別シートから列ごとコピー

Sub データをコピー() Dim シート1 As Worksheet, シート2 As Worksheet Dim 対象値 As Variant Dim 範囲 As Range, セル As Range Dim コピー範囲 As Range ' シートを指定 Set シート1 = ThisWorkbook.Sheets("Sheet1") Set シート2 = ThisWorkbook.Sheets…

一致した場合の転記

VBA

Sub CopyTo37() Dim ws As Worksheet Dim rng28to35 As Range Dim rng37 As Range Dim セル As Range Dim カウント As Integer ' 対象のワークシートを指定 Set ws = ThisWorkbook.Sheets("Sheet1") ' シート名を適宜変更 ' L列の28行目から35行目の範囲を取…

シート2から文字列が一致した場合にはコピー

Sub 列ごとコピー() Dim ws1 As Worksheet 'ワークシートの変数宣言1 Dim ws2 As Worksheet 'ワークシートの変数宣言2 Dim val As String Dim col As Long Set ws1 = Sheets("Sheet1") Set ws2 = Sheets("Sheet2") val = ws1.Range("G10").Value '値を取得 c…

プルダウンメニューのカレンダー

=DATE(A1,A2,SEQUENCE(DAY(EOMONTH(DATE(A1,A2,1),0)))) =OFFSET($A$3,0,0,COUNTA($A:$A)-2,1) ※ A1に年 A2に月 セルの書式 yyyy/m/d(aaa)

ダブルクリック

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)If Target.Column = 1 ThenTarget.Value = DateCancel = TrueElseIf Target.Column = 2 ThenTarget.Value = TimeCancel = TrueEnd IfEnd Sub

Sub メール作成()

Sub メール作成() Dim ファイル名 As StringDim 保存場所 As String 保存場所 = ThisWorkbook.Pathファイル名 = Sheets("Sheet6").Range("B1").Value Open 保存場所 & "\メール作成_" & ファイル名 & ".txt" For Output As #1 Print #1, Range("B2")Print #1…

スピルな関数

FILTER関数で期間を絞る場合 =FILTER(A2:Q46,(Q2:Q46>=T1)*(Q2:Q46<=U1)*(G2:G46=T20),"データなし") '全体参照 '日付参照 '条件参照 =FILTER(Sheet1!dummy,(Sheet1!dummy[有効期限]>=A1)*(Sheet1!dummy[有効期限]<=B1)*(Sheet1!dummy[血液型]=C1),"データ…

クリップボード

www.sejuku.net

Public Function GetCB() As String

'クリップボードの文字列を取得して返す 'MSForms.DataObjectを使用 With CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .GetFromClipboard GetCB = .GetText End With End Function

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

VBA

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim 取得番地 As Long 取得番地 = ActiveCell.Row 'ファイルを書き込みで開く(無ければ新規作成される、あれば上書き)Open "C:test.txt" For Output As #1 '開いたファ…