웹에서 Excel 스프레드 시트로 데이터를 가져옵니다. 모든 데이터는 A 열의 Sheet1에 나열됩니다. 예 :VBA를 사용하는 Excel에서 어떻게 서로 다른 분리 자 (예 : 쉼표, 콜론 등)로 구분 된 여러 값을 분할합니까?
Name: Smith John A.
License: General - Master
License Status: Active
City/State: Anytown, USA
County: Thatoneyouknow
Contact Information
Cell Phone: (555) 555-555
Email Address: [email protected]
Region: One
Ever Been Disciplined?: No
Notes: None
그리고 그 직후 다음 사람에 대한 유사한 정보를 반복 등
나는 아래의 코드를 사용하여 데이터를 구분하는 콜론으로 텍스트를 분할 할 수 있었다 :
Sub DataReOrganizer()
Dim s1, s2 As Worksheet
Dim Cook, i, K As Long
Dim v As String
Set s1 = Sheets("Sheet1")
Set s2 = Sheets("Sheet2")
Cook = s1.Cells(Rows.Count, "A").End(xlUp).Row
K = 2
For i = 1 To Cook
v = s1.Cells(i, "A").Text
If v = "Contact Information" Then
K = K + 1
Else
ary = Split(v, ": ")
If ary(0) = "Name" Then s2.Cells(K, 1) = ary(1)
If ary(0) = "License" Then s2.Cells(K, 2) = ary(1)
If ary(0) = "License Status" Then s2.Cells(K, 3) = ary(1)
If ary(0) = "City/State" Then s2.Cells(K, 4) = ary(1)
If ary(0) = "County" Then s2.Cells(K, 5) = ary(1)
If ary(0) = "Home Phone" Then s2.Cells(K, 6) = ary(1)
If ary(0) = "Work Phone" Then s2.Cells(K, 7) = ary(1)
If ary(0) = "Cell Phone" Then s2.Cells(K, 8) = ary(1)
If ary(0) = "Email Address" Then s2.Cells(K, 9) = ary(1)
If ary(0) = "Region" Then s2.Cells(K, 10) = ary(1)
If ary(0) = "Ever Been Disciplined?" Then s2.Cells(K, 11) = ary(1)
If ary(0) = "Note" Then s2.Cells(K, 12) = ary(1)
End If
Next I
End Sub
이것은 데이터를 가져 와서 각 새 행을 sheet2의 목록에서 다음 사람으로 다른 열로 구분하여 잘 작동합니다. 그러나 사물을 단순화하기 위해이 코드를 쉼표로 구분하여 라이센스 필드와 동일하게 하이픈으로 구분할 수 있습니까?
미리 감사드립니다.
ary (1) –
첫 번째 이벤트를 분할하는 대신 'Like'를 사용하십시오. 전의. 'If v "Name *"like then ... 콜론에서 분리 할 수 있습니다. –