>  기사  >  소프트웨어 튜토리얼  >  Excel 시트를 시트당 300행으로 분할하는 매크로

Excel 시트를 시트당 300행으로 분할하는 매크로

WBOY
WBOY앞으로
2024-01-16 18:36:16920검색

엑셀 시트를 300행마다 한 시트로 나누는 매크로!

공개 서브 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를 워크시트로, nm$, n%, r&

r = rS

r 동안 하세요

n = n + 1

ShNew = Worksheets.Add(after:=Sheets(Worksheets.Count)) 설정

nm = "테이블" & rC & "__" & n

ShNm(shNew, nm)에 전화

shS.Rows(r).Resize(rC).shNew.Rows(rNew) 복사

r = rC * n + rS

루프

MsgBox "알겠습니다"

끝 서브

Public Sub ShNm(sh는 워크시트로, nm은 변형으로)

오류 발생 시 다음 재개

100:

sh.이름 = nm

Err.Number인 경우 0인 경우

Err.Clear

nm = 애플리케이션.입력박스( _

"" " & nm & " "가 이미 존재합니다! " & Chr(10) & Chr(10) & "새 테이블 이름을 입력하세요: ", _

"새 테이블 이름을 입력하세요", nm & "_new", _

유형:=2)

If nm = False Then MsgBox "입력이 잘못되었습니다. 프로그램을 종료하세요!": End

고투100

끝나면

끝 서브

EXCEL에서 매크로 명령을 사용하여 시퀀스를 분할하는 방법(예: PL10 120을 로 분할)

하위 매크로6()

'

' 매크로6 매크로

'

'

Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _

TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _

세미콜론:=False, 쉼표:=False, 공백:=False, 기타:=True, OtherChar _

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

열("A:A").선택

Selection.Replace What:="PL", 교체:="", LookA:=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])"

범위("C1:D1").선택

Selection.AutoFill 대상:=범위("C1:D1000")

범위("C:D").선택

열("A:B").선택

범위("B1").활성화

열("C:D").선택

선택.복사

Selection.PasteSpecial 붙여넣기:=xlPasteValues, 작업:=xlNone, SkipBlanks _

:=거짓, 전치:=거짓

열("A:B").선택

범위("B1").활성화

Application.CutCopyMode = False

선택.삭제 Shift:=xlToLeft

열("A:B").선택

Selection.Replace What:="0", 교체:="", LookA:=xlWhole, _

_

SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _

ReplaceFormat:=False

끝 서브

참고: 사용할 때 A열을 먼저 선택한 다음 매크로를 실행하세요. 분할할 열은 A열에 있어야 하며 BC열 두 개는 비어 있어야 합니다. 그렇지 않으면 덮어쓰게 됩니다(하하, 시간이 짧습니다. 특히 스마트) 행 수가 1000줄을 초과하지 않습니다. ㅎㅎ 그렇지 않으면 좀 느려지므로 범위는 1000줄로 설정했습니다. 철강구조에도 종사하시나요? 하하 역시

EXCEL에서 매크로를 사용하여 자동 기호를 A로 일괄 분할하는 방법과 표의 이 기호를 뒷열로 분할하는 방법

옵션 명시

하위 테스트()

범위에 따른 희미한 rng

Dim arr As Variant

Dim k를 정수로

선택한 각 rng에 대해

rng.Value = 바꾸기(rng.Value, ":", "/")

arr = 분할(rng.Value, "/")

k = U바운드(arr) + 1

rng.Resize(1, k) = arr

삭제 오류

다음 rng

End Sub 코드를 붙여넣는 방법을 알고 계시리라 생각하므로 자세한 내용은 다루지 않겠습니다. 아래 이미지를 눌러 제가 작성한 코드를 실행해 보세요.

1단계

Excel 시트를 시트당 300행으로 분할하는 매크로

단계-2

Excel 시트를 시트당 300행으로 분할하는 매크로

3단계

Excel 시트를 시트당 300행으로 분할하는 매크로

4단계

Excel 시트를 시트당 300행으로 분할하는 매크로

원본 수식을 유지하면서 Excel 시트를 여러 Excel 시트로 빠르게 분할하는 방법

[개발 도구]-[Visual Basic] 또는 Alt+F11 단축키를 클릭하여 VBE 편집 인터페이스로 들어갑니다.

새 모듈을 삽입하려면 선택

다음 코드를 모듈에 붙여넣으세요:

서브 CFGZB()

Dim myRange를 변형으로

Dim myArray

어두운 제목Range As Range

문자열로 된 희미한 제목

Dim 열Num As Integer

myRange = Application.InputBox(prompt:="제목 행을 선택하세요:", 유형:=8)

myArray = WorksheetFunction.Transpose(myRange)

Set titleRange = Application.InputBox(prompt:="첫 번째 행이어야 하고 셀이어야 하는 분할 헤더를 선택하십시오. 예: "이름"", 유형:=8)

title = titleRange.Value

위 내용은 Excel 시트를 시트당 300행으로 분할하는 매크로의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 docexcel.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제