나는 만들려고하는 새 프로그램이 있습니다. CSV 파일을 가져 오니 데이터 정리가 필요합니다. 첫 번째 행에는 올바른 표제가 있지만 열 레이블에 할당해야하는 것과는 일부 불일치가 있습니다.중첩 루프 Excel VBA - Shiftleft
예: 정확한 행 같아야
A B C D
bxxxxxxx1 1994 7890 main
예
잘못된 행 (들) :
bxxxxxxx1 bxxxxxxx2 1994 1995 7890 7891 main main
bxxxxxxx1 bxxxxxxx2 bxxxxxxx3 bxxxxxxx4 1994 1995 1996 1997 7890 7891 7890 7891 main main main main
bxxxxxxx1 bxxxxxxx2 bxxxxxxx3 1994 1995 1996 7890 7891 7892 main main main
bxxxxxxx1....bxxxxxxxn 1994....yearn...7890...789n...main1....mainn
그래서 잘못된 행 각 이어 b 값을 여러 번 제공 값은 여러 b 값을 갖는 모든 행을 상쇄합니다. 그래서
코드 (열 머리글로 정렬 왼쪽으로 이동 모두)을 bxxxxxxx2, 1995, 7891, 2 주, 나머지를 유지를 제거하려면 내가 현재 가지고 :
Sub bibcheck()
Dim Cel As Range
Dim n As Integer
bibfound = 0
For i = 3 To 9
n = 0
For j = 2 To 9
Set Cel = Cells(i, j)
If Cel Like "b*#" Or Cel Like "b*?" Then
n = n + 1
' MsgBox n :'to verify record is found
Cel = "" 'Clear the bib record found
'Insert new code
'Use each n created per row to create a new loop for shifting to the left
'skip a value, then use n again to delete that many cells to the right, continuously shifting blanks to the left.
Else
End If
Next
Next
End Sub
얼마나 많은 열이 *가 있어야한다? 귀하의 예에서는 4 개이지만 코드는 9를 기대하는 것처럼 보입니다. 항상 그렇습니다. 9 개 열이 맞습니까? –
I = 3에서 0, j = 2에서 9까지 사용하는 예제는 각 행과 열을 테스트하는 임의의 값으로, MsgBox를 사용하면 예상 한 값을 출력합니다 (나는 훌륭한 프로그래밍이 아니다). 실제로는 bxxxxxx를 비롯하여 약 10,000 행의 데이터가 포함될 최대 7 개의 열이 있습니다. –