このブロックは画面サイズに応じてボタンの位置、大きさが変化する特殊なブロックです。PCサイズでは上部固定、タブレット、スマートフォンではナビゲーション部分が上部固定され、ボタン部分が画面最下部に固定されます。編集画面は実際の表示と異なります。プレビュー画面もしくは実際の公開ページでご確認ください。編集についてはヘルプ記事の「フローティングメニューブロックの編集」もご覧ください。

CMDでBATファイル

誰でも使いやすいように、ドラッグ・アンド・ドロップで使えるコードを書いてみました。
@echo off
Title データ抽出
echo 同一ディレクトリに設置したcod.listに設定した文字列が存在する行を抽出する。
pause
findstr /g:code.list %1 > ex_%~n1.txt

@echo off
Title テキストデータ行数カウント
for /f "tokens=3" %%i in ('find /c /v "" %1') do set Result=%%i
echo 行数:%Result%
pause
echo %Result% > CR3_%~n1.txt

ドラッグ・アンド・ドロップしたテキストファイルの行数を3桁区切りで出力

@echo off
Title テキストデータ行数カウント(0,000)
for /f "tokens=3" %%i in ('find /c /v "" %1') do set Result=%%i
set FA=%Result%
echo 行数:%FA%

Rem Result の文字数を取得
set /a len = 0
:loop
if not "%Result%"=="" (
set Result=%Result:~1%
set /a len = %len%+1
goto:loop
)

set /a FB=%len%%%3

echo 先頭文字数: %FB%
echo 桁数 %len%
set /a len=len*-1



set FR=%FA:~-3,3%
echo 最後3桁: %FR%
Rem 後ろから3桁ごとに,
setlocal enabledelayedexpansion

if %FB% neq 0 (
FOR /L %%i IN (-6,-3,%len%) DO call set FR=%%FA:~^%%i^,3%%,!FR!

call set FR=%%FA:~^%len%^,^%FB%^%%,!FR!

echo A
) else (
FOR /L %%i IN (-6,-3,%len%) DO call set FR=%%FA:~^%%i^,3%%,!FR!
echo B
)

echo 行数: %FR%

echo %FR% > CR3_%~n1.txt


pause
echo off
setlocal enabledelayedexpansion
set opt=
for %%f in (%*) do (
set opt=!opt!%%f +
echo %opt% /B
)
echo %opt%
set opt=%opt:~0,-1%
echo %opt%

copy %opt% %~p0MR_%~n1%~x1 /b
endlocal
pause
@echo off
title 分割
echo divset.ini が設定ファイル 分割行数等設定可能
setlocal enabledelayedexpansion
cd %~p0
for /f "usebackq tokens=1,* delims==" %%a in (Divset.ini) do (
set %%a=%%b
)
echo 分割後の1ファイルあたりの行数:%max%


set inputfile=%1
cd %~p0
type %inputfile% | find /v /c "" > %~p0\%~n1_line.log
for /f "usebackq tokens=*" %%i IN (%~d0%~p0%~n1_line.log) do set line= %%i
set /a filecount=%line%/%max%+1
for /f "usebackq tokens=*" %%s in (%inputfile%) do @(
set /a num=num+1
echo %%s >> split_%~n1_!filenm!.txt
if !num! equ !max! (
echo split_%~n1_!filenm!.txt 書き込み完了
set /a filenm=filenm+1
set /a num=0
)
)
:break
:end
echo 処理完了

pause
@echo off
rem****************************************************
rem**分割後の1ファイル当たりの行数をmax=に設定する **
rem****************************************************
max=1000000

rem****************************************************
rem**その他初期変数を本体でmax読込時に同時に設定する**
rem****************************************************
num=0
filenm=0
filecount=0

分割2:BATファイルからPowerShellを操作して分割

@echo off
REM 分割ファイル
set DivF=%1
REM 分割後ファイルパス
set DivDP=%~d0%~p0
REM 分割後ファイル名基礎
set DivAN=%~n1
REM 設定ファイルから読み込んだ設定行数
setlocal enabledelayedexpansion
cd %~p0
for /f "usebackq tokens=1,* delims==" %%a in (Divset.ini) do (
set %%a=%%b
)
echo DivF %DivF%
echo DivDP %DivDP%
echo DivAN %DivAN%
echo MyRC %MyRC%
pause

REM パワーシェルを呼び出すバッチファイルです。
REM test.ps1 が test.bat と同じフォルダにある場合です。
powershell -ExecutionPolicy Unrestricted %~d0%~p0subdiv.ps1 -DivF %DivF% -DivDP %DivDP% -DivAN %DivAN% -MyRC %MyRC%

PAUSE
REM*******************************************************************
REM**分割後ファイルの行数を設定するファイル       **************
REM*******************************************************************
MyRC=10000
# バッチファイルから呼び出される側のパワーシェルファイルです。
Param(
[string]$DivF,
[string]$DivDP,
[string]$DivAN,
[long]$MyRC
)
$i=0; cat $DivF -ReadCount $MyRC | % { $_ > $DivDP'Div_'$DivANz_$i.txt;$i++ }

ドラッグアンドドロップしたファイルの先頭100行を別ファイルに出力する。

@echo off
title 先頭100行だけ分割
setlocal enabledelayedexpansion
cd %~p0
set /a Flag=1
echo %~p0Div100_%~n1%~x1
pause
FOR /F "delims=" %%a IN (%~p1%~n1%~x1) do (
echo %%a >> %~p0Div100_%~n1%~x1
set /a Flag=!Flag!+1
if !Flag!==100 exit
)

echo 処理完了

pause

ExcelにExcelファイルインポートVBA

Sub Toimport()
Dim Strpath As String
Dim Wb1 As Workbook
Dim Ts1 As Worksheet
Dim TT As Variant '届出書データ格納用配列

Strpath = Sub_Import

If Strpath <> "" Then
Workbooks.Open Strpath
Set Wb1 = ActiveWorkbook
Set Ts1 = Wb1.Sheets(1)
End If
TT = Ts1.Cells(1, 1).CurrentRegion
Wb1.Close
ThisWorkbook.Sheets("届出データ").Activate
ThisWorkbook.Sheets("届出データ").Range(Cells(1, 1), Cells(UBound(TT, 1), UBound(TT, 2))) = TT

End Sub


Function Sub_Import()
Dim Strpath As String
Dim Mypath As String

Mypath = ThisWorkbook.Path

With Application.FileDialog(msoFileDialogFilePicker)
.InitialFileName = "C:\Users\user\Desktop\テスト\"
If .Show = -1 Then
Strpath = .SelectedItems(1)
End If
End With
Sub_Import = Strpath



End Function

ExcelにExcelファイルインポートVBA2

Dim Srow As Long

Sub TSimport()
Dim Strpath As String
Dim Wb1 As Workbook
Dim Ts1 As Worksheet
Dim TT As Variant '申告書データ格納用配列

Strpath = Sub_Import

If Strpath <> "" Then
Workbooks.Open Strpath
Set Wb1 = ActiveWorkbook
Set Ts1 = Wb1.Sheets(1)
End If
TT = Ts1.Cells(1, 1).CurrentRegion
Wb1.Close
If Not UBound(TT, 2) = 95 Then GoTo Err1


ThisWorkbook.Sheets("申告データ").Activate
ThisWorkbook.Sheets("申告データ").Range(Cells(1, 1), Cells(UBound(TT, 1), UBound(TT, 2))) = TT

Exit Sub
Err1:
MsgBox "選択したファイルは申告データではありません。" & vbCrLf & "今回の処理は実行せずに終了しますので、やり直して正しいファイルを選択してください。"

End Sub

'前回申告データの最終行の番号を取得し、その番号のデータの一行下から開始する。前回申告データが空欄ならば、2行目から開始
'①税額計算チェック ※設定シート →かかればリスト行き
'②税額算出表合計(特殊)チェック ※設定シート(ほぼコード) →かかればリスト行き
'③税額計算(税率)チェック ※税額設定シート  →かかればリスト行き
'④所持数量1800チェック ※設定シート&届け出有無 →納付または還付整理表データへ行くかリスト行きか
'⑤所持数量0チェック ※設定シート&届け出有無 →納付または還付整理表データへ行くかリスト行きか
'いったん仮リスト配列を生成し、備考欄がnullかnotnullか、税額が還付か納付かで整理表納付配列、整理表還付配列、リスト配列


Function BefoLast() As String
Dim Lastrow As Long

End Function
Sub ZeigakuCheck()
'①税額計算チェック
Dim wsS As Worksheet
Dim wsSin As Worksheet

Dim Ccol As Long '確認列
Dim Tcol As Long '比較列
Dim F As String '記号
Dim Erow As Long '申告データ最終行取得


Set wsS = ThisWorkbook.Sheets("設定")
Set wsSin = ThisWorkbook.Sheets("申告データ")
Ccol = wsS.Cells(4, 2).Value
F = wsS.Cells(4, 3).Value
Tcol = wsS.Cells(4, 5).Value
Erow = wsSin.Cells(Rows.Count, 1).End(xlUp).Row

Srow = 2
For i = Srow To Erow
If wsSin.Cells(i, Ccol).Value <> wsSin.Cells(i, Tcol).Value Then
MsgBox "a" & i
End If

Next i

End Sub
Sub Toimport()
Dim Strpath As String
Dim Wb1 As Workbook
Dim Ts1 As Worksheet
Dim TT As Variant '届出書データ格納用配列

Strpath = Sub_Import

If Strpath <> "" Then
Workbooks.Open Strpath
Set Wb1 = ActiveWorkbook
Set Ts1 = Wb1.Sheets(1)
End If
TT = Ts1.Cells(1, 1).CurrentRegion
Wb1.Close

ThisWorkbook.Sheets("届出データ").Activate
ThisWorkbook.Sheets("届出データ").Range(Cells(1, 1), Cells(UBound(TT, 1), UBound(TT, 2))) = TT

End Sub


Function Sub_Import() As String 'ファイルを開くダイアログボックスで選択したExcelのフルパスを取得

Dim Strpath As String
Dim Mypath As String

Mypath = ThisWorkbook.Path

With Application.FileDialog(msoFileDialogFilePicker)
.InitialFileName = Mypath & "\"
If .Show = -1 Then
Strpath = .SelectedItems(1)
End If
End With
Sub_Import = Strpath

End Function

汎用集計シートVBA

Public MySet() As Variant
Sub main()

Call Mysetting
Call Tenki


End Sub


Sub Mysetting()
'設定内容を配列に格納

Dim Endrow As Long
Dim Endcol As Long
Dim Mysheet As Worksheet
Set Mysheet = ThisWorkbook.Sheets("設定")

Endrow = Mysheet.Cells(Rows.Count, 4).End(xlUp).Row
Endcol = Mysheet.Cells(3, Columns.Count).End(xlToLeft).Column

ReDim MySet(1 To Endrow - 2, 1 To Endcol - 1)

For i = 1 To UBound(MySet)
For i2 = 1 To UBound(MySet, 2)
MySet(i, i2) = Mysheet.Cells(i + 2, i2 + 1)
Next i2
Next i

End Sub
Sub Tenki()
'転記の実行
Dim Mysheet As Worksheet
Dim Motosheet As Worksheet
Dim Komokusu As Long
Dim i As Long
Dim i2 As Long




Set Mysheet = ThisWorkbook.Sheets("集計表")
Komokusu = (UBound(MySet, 2) - 2) \ 4


For i = 1 To UBound(MySet)
'ファイルを開く
If i = 1 Then
Workbooks.Open MySet(1, 1)
ElseIf MySet(i - 1, 1) = MySet(i, 1) Then
'1行前と同じファイルなら何もしない
Else
'ファイルが変わったら前のファイルを閉じて新たなファイルを開く
Application.DisplayAlerts = False
Workbooks(MySet(i - 1, 1)).Close
Application.DisplayAlerts = True

Workbooks.Open MySet(i, 1)
End If
Set Motosheet = Workbooks(Dir(MySet(i, 1))).Sheets(MySet(i, 2))

For i2 = 1 To Komokusu
Mysheet.Cells(MySet(i, i2 * 4 + 1), MySet(i, i2 * 4 + 2)) = Motosheet.Cells(MySet(i, i2 * 4 - 1), MySet(i, i2 * 4))
Next i2
Next i

'最後に開いたファイルを閉じる
Application.DisplayAlerts = False
Workbooks(Dir(MySet(UBound(MySet), 1))).Close
Application.DisplayAlerts = True



End Sub








Sub FilePick()
'ファイル名指定実行
'アクティブセルにダイアログで指定したファイル名のフルパスを入力する。
Dim OpenFile As String
Dim FSO As New Scripting.FileSystemObject
Dim Mypath As String


Mypath = ThisWorkbook.Path
If ActiveCell.Column <> 2 Then GoTo Err


With Application.FileDialog(msoFileDialogFilePicker)
.Filters.Clear
.Filters.Add "すべてのファイル", "*.*"
.Filters.Add "Excel ブック", "*.xlsx"
.Filters.Add "Excel マクロ有効ブック", "*.xlsm"
.Filters.Add "Excel 97-2003 ブック", "*.xls"
.FilterIndex = 1

.AllowMultiSelect = False

.InitialFileName = OpenFile


If .Show = True Then
ActiveCell.Value = .SelectedItems(1)
Else
Exit Sub
End If
End With


Exit Sub
Err:
MsgBox "ファイルパス欄を選択して実行してください。"

End Sub