我設法從作業簿中的包裝單元格中提取資料并將該資料發送到另一個作業簿。包裹的單元格具有逐行顯示的文本,我正在使用拆分文本來遍歷每個單元格以獲取我想要的資料。問題是在它完成遍歷該包裹的單元格之后,它不會進入下一列。我希望它轉到下一個專欄并重復我剛才提到的程序。
我知道我設定的名為 splitText 的變數的范圍顯示為 .Range("I3")。所以我知道這是設定的范圍。我只是不知道如何對其進行編碼以轉到下一列。來自換行文本的資料在 I3 列中。提取完成后,我需要我的腳本進入 I4 等等。
我的代碼如下:
Sub Get_Data_From_File()
Dim FileToOpen As Variant
' Dim i&, s, v
Dim rng As Range
Dim lr As Long
Dim value As String
Dim x As Variant
Dim i As Integer
Dim pos1 As Integer
Dim pos2 As Integer
'Variable declaration
Dim sWorkbook As Workbook
'Create New Workbook
Set sWorkbook = Workbooks.Add
'Save Above Created New Workbook
sWorkbook.SaveAs Filename:="C:\Users\username\Desktop\file.xlsx"
FileToOpen = Application.GetOpenFilename(Title:="Browse for your File & Import Range", FileFilter:="Excel Files (*.xls*),*xls*")
Set OpenBook = Application.Workbooks.Open(FileToOpen)
Set cRange = OpenBook.Worksheets("my-worksheet").Range("I3:I10")
For Each column In Range("A3:A4")
splitText = Split(OpenBook.Worksheets("my-worksheet").Range("I3").value, Chr(10))
Debug.Print value
counter = 3
For i = 0 To UBound(splitText)
value = splitText(i)
pos1 = InStr(value, "show")
pos2 = InStr(value, "more")
myArray = Split(value)
If pos1 = 1 Or pos2 = 1 Then
Debug.Print value
If InStr(1, value, 9, 1) Then
textWithNumberUse9 = Replace(value, "show", 1)
textWithNumberAnd9 = Replace(value, "more", 1)
removeForUse = Trim(Replace(textWithNumberUse9, "and", ""))
removeForAnd = Trim(Replace(textWithNumberAnd9, "and", ""))
End If
If InStr(1, value, 6, 1) Then
textWithNumberUse6 = Replace(value, "show", "")
textWithNumberAnd6 = Replace(value, "more", "")
removeForUse = Trim(Replace(textWithNumberUse6, "and", ""))
removeForAnd = Trim(Replace(textWithNumberAnd6, "and", ""))
End If
If InStr(1, value, "show", 1) Then
Workbooks("Test.xlsx").Worksheets("Sheet1").Range("D" & counter).value = removeForUse
End If
If InStr(1, value, "more", 1) Then
Workbooks("Test.xlsx").Worksheets("Sheet1").Range("D" & counter).value = removeForAnd
End If
counter = counter 1
End If
Next i
Next column
uj5u.com熱心網友回復:
將splitText = ...行更改為此
splitText = Split(OpenBook.Worksheets("my-worksheet").Range("I" & column.Row).value, Chr(10))
(鑒于這看起來,你真的應該重新考慮你的column變數的名稱......)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/479842.html
