Excel VBA
Sub Step1()
Sheets.Add(After:=ActiveSheet).Name = "NewDATASHEET"
Sheets("DATASHEET").Select
ActiveWindow.FreezePanes = True
Columns("A:C").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("NewDATASHEET").Select
ActiveSheet.Paste
Range("D1").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "Title"
Range("E1").Select
ActiveCell.FormulaR1C1 = "Content"
Range("D2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=CONCAT(RC[-3],""|"",RC[-2])"
Selection.AutoFill Destination:=Range("D2:D8000")
Range("E2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=StringToBase64(RC[-2])"
Selection.AutoFill Destination:=Range("E2:E8000")
Selection.AutoFilter
ActiveSheet.Range("A:E").AutoFilter Field:=3, Criteria1:="<>"
Sheets.Add(After:=ActiveSheet).Name = "NewSheet2"
Sheets("DATASHEET").Select
Range("B2").Select
Range("E:E,D:D,A:A").Select
Range("A1").Activate
Selection.Copy
Sheets("NewSheet2").Select
ActiveSheet.Paste
Range("D1").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "Title"
Range("E1").Select
ActiveCell.FormulaR1C1 = "Content"
Range("D2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=CONCAT(RC[-3],""|"",RC[-2])"
Selection.AutoFill Destination:=Range("D2:D8000")
Range("E2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=StringToBase64(RC[-2])"
Selection.AutoFill Destination:=Range("E2:E8000")
Selection.AutoFilter
ActiveSheet.Range("A:E").AutoFilter Field:=3, Criteria1:="<>"
Sheets.Add(After:=ActiveSheet).Name = "NewSheet3"
Sheets("DATASHEET").Select
Range("F:G,A:A").Select
Range("A1").Activate
Selection.Copy
Sheets("NewSheet3").Select
ActiveSheet.Paste
Range("D1").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "Title"
Range("E1").Select
ActiveCell.FormulaR1C1 = "Content"
Range("D2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=CONCAT(RC[-3],""|"",RC[-2])"
Selection.AutoFill Destination:=Range("D2:D8000")
Range("E2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=StringToBase64(RC[-2])"
Selection.AutoFill Destination:=Range("E2:E8000")
Selection.AutoFilter
ActiveSheet.Range("A:E").AutoFilter Field:=3, Criteria1:="<>"
Sheets.Add(After:=ActiveSheet).Name = "NewSheet4"
Sheets("DATASHEET").Select
Range("I:I,H:H,A:A").Select
Range("A1").Activate
Selection.Copy
Sheets("NewSheet4").Select
ActiveSheet.Paste
Range("D1").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "Title"
Range("E1").Select
ActiveCell.FormulaR1C1 = "Content"
Range("D2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=CONCAT(RC[-3],""|"",RC[-2])"
Selection.AutoFill Destination:=Range("D2:D8000")
Range("E2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=StringToBase64(RC[-2])"
Selection.AutoFill Destination:=Range("E2:E8000")
Selection.AutoFilter
ActiveSheet.Range("A:E").AutoFilter Field:=3, Criteria1:="<>"
Sheets.Add(After:=ActiveSheet).Name = "NewSheet5"
Sheets("DATASHEET").Select
Range("K:K,J:J,A:A").Select
Range("A1").Activate
Selection.Copy
Sheets("NewSheet5").Select
ActiveSheet.Paste
Range("D1").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "Title"
Range("E1").Select
ActiveCell.FormulaR1C1 = "Content"
Range("D2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=CONCAT(RC[-3],""|"",RC[-2])"
Selection.AutoFill Destination:=Range("D2:D8000")
Range("E2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=StringToBase64(RC[-2])"
Selection.AutoFill Destination:=Range("E2:E8000")
Selection.AutoFilter
ActiveSheet.Range("A:E").AutoFilter Field:=3, Criteria1:="<>"
Sheets.Add(After:=ActiveSheet).Name = "NewSheet6"
Sheets("DATASHEET").Select
Range("M:M,L:L,A:A").Select
Range("A1").Activate
Selection.Copy
Sheets("NewSheet6").Select
ActiveSheet.Paste
Range("D1").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "Title"
Range("E1").Select
ActiveCell.FormulaR1C1 = "Content"
Range("D2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=CONCAT(RC[-3],""|"",RC[-2])"
Selection.AutoFill Destination:=Range("D2:D8000")
Range("E2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=StringToBase64(RC[-2])"
Selection.AutoFill Destination:=Range("E2:E8000")
Selection.AutoFilter
ActiveSheet.Range("A:E").AutoFilter Field:=3, Criteria1:="<>"
Sheets.Add(After:=ActiveSheet).Name = "Main"
Sheets("Main").Select
Range("A1").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "Title"
Range("B1").Select
ActiveCell.FormulaR1C1 = "Content"
End Sub
Function StringToBase64(str As String) As String
Dim objXML As Object
Set objXML = CreateObject("MSXML2.DOMDocument")
Dim objNode As Object
Set objNode = objXML.createElement("b64")
objNode.DataType = "bin.base64"
objNode.nodeTypedValue = Stream_StringToBinary(str)
StringToBase64 = objNode.text
End Function
Function Stream_StringToBinary(text As String) As Variant
Const adTypeText As Integer = 2
Const adTypeBinary As Integer = 1
Dim binaryStream As Object
Set binaryStream = CreateObject("ADODB.Stream")
binaryStream.Type = adTypeText
binaryStream.Charset = "us-ascii"
binaryStream.Open
binaryStream.WriteText text
binaryStream.Position = 0
binaryStream.Type = adTypeBinary
Stream_StringToBinary = binaryStream.Read
End Function
Sub Step2()
'
' Macro5 Macro
'
'
Sheets("NewDATASHEET").Select
Range("D2:E8000").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Main").Select
Range("A2").Select
ActiveSheet.Paste
Sheets("NewSheet2").Select
Range("D2:E8000").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Main").Select
Range("A8002").Select
ActiveSheet.Paste
Sheets("NewSheet3").Select
Range("D2:E8000").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Main").Select
Range("A16002").Select
ActiveSheet.Paste
Sheets("NewSheet4").Select
Range("D2:E8000").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Main").Select
Range("A24002").Select
ActiveSheet.Paste
Sheets("NewSheet5").Select
Range("D2:E8000").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Main").Select
Range("A32002").Select
ActiveSheet.Paste
Sheets("NewSheet6").Select
Range("D2:E8000").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Main").Select
Range("A40002").Select
ActiveSheet.Paste
ActiveSheet.Range("A:B").AutoFilter Field:=2, Criteria1:="<>"
End Sub
Comments
Post a Comment