十多年沒用過VBA了。我找到了一些代碼,用于將一列資料拆分為指定范圍的 x 行。但我似乎無法找到如何在輸出陣列中保留前導零。
A列包含例如:
| 一種 |
|---|
| 0123456789 |
| 0034453425 |
| 0122346527 |
| 1872635341 |
輸出回傳為:
| 一種 | 乙 |
|---|---|
| 0123456789 | 122346527 |
| 34453425 | 1872635341 |
任何幫助表示贊賞。輸入都是長度為 10 個字符的唯一條形碼。
這是代碼
Sub SplitColumn()
Dim rng As Range
Dim InputRng As Range
Dim OutRng As Range
Dim xRow As Integer
Dim xCol As Integer
Dim xArr As Variant
xTitleId = "Column Split"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
xRow = Application.InputBox("Rows (How many rows max per column) :", xTitleId)
Set OutRng = Range("C1")
Set InputRng = InputRng.Columns(1)
xCol = InputRng.Cells.Count / xRow
ReDim xArr(1 To xRow, 1 To xCol 1)
For i = 0 To InputRng.Cells.Count - 1
xValue = InputRng.Cells(i 1)
iRow = i Mod xRow
iCol = VBA.Int(i / xRow)
xArr(iRow 1, iCol 1) = xValue
Next
OutRng.Resize(UBound(xArr, 1), UBound(xArr, 2)).Value = xArr
End Sub
uj5u.com熱心網友回復:
將輸出范圍格式化為文本:
With OutRng.Resize(UBound(xArr, 1), UBound(xArr, 2))
.NumberFormat = "@"
.Value = xArr
End With
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/451953.html
