ホームページ >ソフトウェアチュートリアル >オフィスソフトウェア >Excel シートを 1 シートあたり 300 行に分割するマクロ

Excel シートを 1 シートあたり 300 行に分割するマクロ

WBOY
WBOY転載
2024-01-16 18:36:161005ブラウズ

Excelシートを300行ごとに1シートに分割するマクロです!

パブリックサブmySub()

Dim shS As Worksheet: Set shS = ActiveSheet 'ソース データ シート、現在のアクティブ シート

Dim rS&: rS = 1 'ソース データ テーブル、この行からデータの読み取りを開始します

Dim rC&: rC = 300 '毎回読み取られる行数

Dim rNew$: rNew = 1 '新しいテーブルを作成し、データをこの行に貼り付けます

Dim rZ&: rZ = shS.usedRange.Row shS.usedRange.Rows.Count - 1

Dim shNew As Worksheet、nm$、n%、r&

r = rS

r の間実行します

n = n 1

Set shNew = Worksheets.Add(after:=Sheets(Worksheets.Count))

nm = "テーブル" & rC & "_"" & n

ShNm(shNew, nm)を呼び出します

shS.Rows(r).Resize(rC).Copy shNew.Rows(rNew)

r = rC * n rS

###ループ###

メッセージボックス「ok」

エンドサブ

Public Sub ShNm(ワークシートとしての sh、バリアントとしての nm)

エラー時は次へ再開

100:

sh.Name = nm

If エラー番号

0 then

エラークリア

nm = Application.InputBox( __

" " " & nm & " " はすでに存在します! " & Chr(10) & Chr(10) & "新しいテーブル名を入力してください: ", __

"新しいテーブル名を入力してください", nm & "_new", __

タイプ:=2)

If nm = False then MsgBox "入力が正しくありません。プログラムを終了してください!": End

GoTo 100

終了の場合

エンドサブ

EXCEL でマクロ コマンドを使用してシーケンスを分割する方法 (たとえば、PL10 120 を

に分割する)

サブマクロ6()

'

' マクロ 6 マクロ

'

'

Selection.TextToColumns Destination:=Range("A1")、DataType:=xlDelimited、__

TextQualifier:=xlDoubleQuote、ConsecutiveDelimiter:=False、Tab:=False、__

セミコロン:=False、コンマ:=False、スペース:=False、その他:=True、その他の文字 __

:="*", FieldInfo:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True

列("A:A").選択

Selection.Replace What:="PL"、置換:=""、LookAt:=xlPart、__

SearchOrder:=xlByRows、MatchCase:=False、SearchFormat:=False、__

ReplaceFormat:=False

列("C:D").選択

Selection.Insert Shift:=xlToRight、CopyOrigin:=xlFormatFromLeftOrAbove

範囲("C1").選択

ActiveCell.FormulaR1C1 = "=MIN(RC[-2],)"

範囲("C1").選択

ActiveCell.FormulaR1C1 = "=MIN(RC[-2],RC[-1])"

範囲("D1").選択

ActiveCell.FormulaR1C1 = "=MAX(RC[-3],RC[-2])"

Range("C1:D1").Select

Selection.AutoFill Destination:=Range("C1:D1000")

Range("C:D").Select

列("A:B").選択

Range("B1").Activate

列("C:D").選択

選択.コピー

Selection.PasteSpecial Paste:=xlPasteValues、Operation:=xlNone、SkipBlanks __

:=False、転置:=False

列("A:B").選択

Range("B1").Activate

Application.CutCopyMode = False

Selection.Delete Shift:=xlToLeft

列("A:B").選択

Selection.Replace What:="0"、置換:=""、LookAt:=xlWhole、__

#SearchOrder:=xlByRows、MatchCase:=False、SearchFormat:=False、__

ReplaceFormat:=False

エンドサブ

注: 使用する場合は、最初に列 A を選択してからマクロを実行します。分割する列は列 A になければならず、BC の 2 つの列は空でなければ上書きされます (笑、時間が短いです) 、特にスマートではありません)、行数は 1000 行以下です。あはは、そうしないと少し遅くなるので、範囲は 1000 行に設定されています。鉄骨構造物も手掛けているんですか?あはは、それも

EXCEL でマクロを使用して、テーブル内の A とこれらの自動シンボルを次の列に分割する方法

明示的なオプション

サブテスト()

範囲としての寸法を調整

バリアントとしてのディム arr

Dim k As Integer

選択範囲内の各rngについて

rng.Value = Replace(rng.Value, ":", "/")

arr = Split(rng.Value, "/")

k = UBound(arr) 1

rng.Resize(1, k) = arr

arrを消去

次の候補

End Sub コードの貼り付け方法はご存知かと思いますので、詳細は省略します。下の画像を押して、私が書いたコードを実行してください:

###ステップ1###

###ステップ2###

Excel シートを 1 シートあたり 300 行に分割するマクロ

ステップ-3

Excel シートを 1 シートあたり 300 行に分割するマクロ

ステップ-4

Excel シートを 1 シートあたり 300 行に分割するマクロ

Excel テーブルを複数の Excel テーブルにすばやく分割し、元の数式を保持する方法

[開発ツール]-[Visual Basic] または Alt F11 ショートカット キーをクリックして、VBE 編集インターフェイスに入ります。

Excel シートを 1 シートあたり 300 行に分割するマクロ新しいモジュールの挿入を選択してください

次のコードをモジュールに貼り付けます:

サブCFGZB()

myRange をバリアントとして暗くする

myArray を暗くする

タイトルを範囲として暗くする

タイトルを文字列として暗くする

Dim columnNum As Integer

myRange = Application.InputBox(prompt:="タイトル行を選択してください:", Type:=8)

myArray = WorksheetFunction.Transpose(myRange)

Set titleRange = Application.InputBox(prompt:="分割ヘッダーを選択してください。最初の行でセルである必要があります。例: "Name"", Type:=8)

title = titleRange.Value

以上がExcel シートを 1 シートあたり 300 行に分割するマクロの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はdocexcel.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。