좋아, 나는 점점 가까워지고 있지만 객체 오류가 발생하는 것처럼 느껴집니다. Excel 시트의 이전 값을 새 요금 값으로 바꾸려고합니다. 다음은 내가하려는 작업의 예입니다.
이것은 처음 시작할 수있는 테이블 유형의 예입니다.
이것이 내가 VBA를 실행 한 후 원하는 모습입니다.
여기 내가 지금까지 가지고있는 것입니다.
Sub Testing()
Dim x As Integer
Dim UpdateRng As Range
Dim SelectRng As Range
v = 2
Application.ScreenUpdating = False
' Get count
NumRows = Range("B2", Range("B2").End(xlDown)).Rows.Count
Range("B2").Select
' Cycle through loop
For x = 1 To NumRows
Set SelectRng = Range("C" & v & ":" & "F" & v) 'Set range
If "A" & v.Vaule = " " Or v.Value = "" Then GoTo NextV
For Each UpdateRng In SelectRng
If UpdateRng.Value > 0 Then
UpdateRng.Value = Range("A" & v).Value
End If
Next
NextV:
v = v + 1
Next
Application.ScreenUpdating = True
End Sub
Option Explicit
모듈 맨 위에 추가 하고 모든 변수를 선언하십시오.GoTo
일반적으로 스파게티 코드를 생성하므로 사용하지 마십시오 .End(xlUp)
마지막 행을 결정하는 데 사용 합니다 .Select
.Long
대신에Integer
.Sub Testing()
Dim ws As Worksheet
Set ws = ActiveSheet
With ws
Dim lastRow As Long
lastRow = .Cells(.Rows.Count, 2).End(xlUp).Row
End With
Dim i As Long
For i = 2 To lastRow
With ws
If Not IsEmpty(.Range("A" & i).Value) Then
.Range("C" & i & ":F" & i).Replace "*", .Range("A" & i).Value
End If
End With
Next
End Sub
이것은 0보다 큰 값뿐만 아니라 바꿀 때 모든 값을 고려합니다. 필자 는 본질적으로 열의 셀 이 비어 있지 않은지 확인하는 것이라고 생각 합니다 .>0
C:F
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다