我有一個 vba 腳本,可以將資料從一個作業簿復制并粘貼到另一個作業簿。粘貼的資料是換行的文本。我需要我的 vba 腳本來獲取包裝的文本并將其轉換為您在下面看到的內容。
下面是正在復制的具有包裝文本的資料。

下面是我希望它在粘貼到新作業簿時的樣子。

下面是我現在所擁有的腳本。
Sub Get_Data_From_File()
Dim FileToOpen As Variant
Dim OpenBook As Workbook
FileToOpen = Application.GetOpenFilename(Title:="Browse for your File & Import Range", FileFilter:="Excel Files (*.xls*),*xls*")
Application.ScreenUpdating = False
Cells.WrapText = False
If FileToOpen <> False Then
Set OpenBook = Application.Workbooks.Open(FileToOpen)
OpenBook.Worksheets("MyFile").Range("A1:A352:I1:I352").copy _
Workbooks("Book1").Worksheets("Sheet1").Range("A1:A352:I1:I352").PasteSpecial xlPasteValues
'OpenBook.Close False
End If
Application.ScreenUpdating = True
End Sub
uj5u.com熱心網友回復:
也許這可以讓你繼續......
Sub alphanumEric()
Dim i&, s, v
s = OpenBook.Worksheets("MyFile").Range("D2").Value2
s = Split(s, vbLf)
ReDim v(0 To UBound(s), 1 To 1)
For i = 0 To UBound(s)
v(i, 1) = s(i)
Next
Workbooks("Book1").Worksheets("Sheet1").Range("D2").Resize(UBound(s) 1).Value2 = v
End Sub
uj5u.com熱心網友回復:
如果每個字符由換行符分隔,這會將單元格文本轉換為 4 個單元格。請注意,此示例從單元格 A1 復制到 B1。
Dim arr As Variant, rowCount As Long
' Split the text to an array by line feed
arr = Split(Sheet1.Range("A1").Value, vbLf)
rowCount = UBound(arr) - LBound(arr) 1
' Copy to the new cells
Sheet1.Range("B1").Resize(rowCount, 1) = WorksheetFunction.Transpose(arr)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/473963.html
上一篇:加載影像以適合合并的單元格
