
把一個excel的sheet分成每300行一個sheet的宏!
publicsubmysub()
DimshSAsWorksheet:SetshS=ActiveSheet'源數據表,當前活動表
DimrS&:rS=1'源數據表,從這行開始讀取數據
DimrC&:rC=300'每次讀取的行數
DimrNew$:rNew=1'新建表內,數據粘貼到這行
DimrZ&:rZ=shS.UsedRange.Row+shS.UsedRange.Rows.Count-1
DimshNewAsWorksheet,nm$,n%,r&
r=rS
DoWhiler
n=n+1
SetshNew=Worksheets.Add(after:=Sheets(Worksheets.Count))
nm="表"&rC&"_"&n
CallShNm(shNew,nm)
shS.Rows(r).Resize(rC).CopyshNew.Rows(rNew)
r=rC*n+rS
Loop
MsgBox"ok"
EndSub
PublicSubShNm(shAsWorksheet,nmAsVariant)
OnErrorResumeNext
100:
sh.Name=nm
IfErr.Number0Then
Err.Clear
nm=Application.InputBox(_
"《"&nm&"》已經存在!"&Chr(10)&Chr(10)&"請輸入新表名:",_
"請輸入新表名",nm&"_new",_
Type:=2)
Ifnm=FalseThenMsgBox"輸入不正確,退出程序!":End
GoTo100
EndIf
EndSub
在EXCEL中如何利用宏命令將一個數列拆開例如將PL10120拆分成
SubMacro6()
'
'Macro6Macro
'
'
Selection.TextToColumnsDestination:=Range("A1"),DataType:=xlDelimited,_
TextQualifier:=xlDoubleQuote,ConsecutiveDelimiter:=False,Tab:=False,_
Semicolon:=False,Comma:=False,Space:=False,Other:=True,OtherChar_
:="*",FieldInfo:=Array(Array(1,1),Array(2,1)),TrailingMinusNumbers:=True
Columns("A:A").Select
Selection.ReplaceWhat:="PL",Replacement:="",LookAt:=xlPart,_
SearchOrder:=xlByRows,MatchCase:=False,SearchFormat:=False,_
ReplaceFormat:=False
Columns("C:D").Select
Selection.InsertShift:=xlToRight,CopyOrigin:=xlFormatFromLeftOrAbove
Range("C1").Select
ActiveCell.FormulaR1C1="=MIN(RC[-2],)"
Range("C1").Select
ActiveCell.FormulaR1C1="=MIN(RC[-2],RC[-1])"
Range("D1").Select
ActiveCell.FormulaR1C1="=MAX(RC[-3],RC[-2])"
Range("C1:D1").Select
Selection.AutoFillDestination:=Range("C1:D1000")
EXCEL如何用宏批量在表中把帶A有這些的自動符號的拆分到后面列
OptionExplicit
Subtest()
DimrngAsRange
DimarrAsVariant
DimkAsInteger
ForEachrngInSelection
rng.Value=Replace(rng.Value,":","/")
arr=Split(rng.Value,"/")
k=UBound(arr)+1
rng.Resize(1,k)=arr
Erasearr
Nextrng
EndSub關于怎么粘貼代碼我估計你會,就不啰嗦了,按下圖運行我給你寫的代碼就可以了:
step-1
step-2
step-3
step-4
如何快速把1個excel表拆分成多個excel表并且保留原有的公式
點擊【開發工具】-【VisualBasic】或者Alt+F11的快捷鍵進入VBE界面。
選擇插入一個新的模塊
粘貼下列代碼在模塊中:
SubCFGZB()
DimmyRangeAsVariant
DimmyArray
DimtitleRangeAsRange
DimtitleAsString
DimcolumnNumAsInteger
myRange=Application.InputBox(prompt:="請選擇標題行:",Type:=8)
myArray=WorksheetFunction.Transpose(myRange)
SettitleRange=Application.InputBox(prompt:="請選擇拆分的表頭,必須是第一行,且為一個單元格,如:“姓名”",Type:=8)
title=titleRange.Value
以上就是將一個Excel表格分割成每個sheet包含300行的宏的詳細內容,!

