서브S()
a = [o2].텍스트
b = [o7].텍스트
나 = 렌(a)
nb = 렌(b)
ReDim arr(1 To na)
ReDim brr(1 To nb)
For i = 1 To na
arr(i) = Val(Mid(a, i, 1))
다음
For i = 1 To nb
brr(i) = Val(Mid(b, i, 1))
다음
For i = 1 To 9
a = ""
b = ""
For j = 1 To na
a = a & (arr(j) + i) Mod 10
다음
For j = 1 To nb
b = b & (brr(j) + i) Mod 10
다음
[o2].Offset(0, i) = a
[o7].Offset(0, i) = b
다음
끝 서브
c열의 데이터가 있는 마지막 행을 찾는 코드는 다음과 같습니다.
i=셀(행.개수, 3).End(xlUp).Row
Selection.AutoFill 대상:=Range("D5:D" & i &"")
전체 코드는 다음과 같습니다.
Subjj()
범위("D5").선택
ActiveCell.FormulaR1C1 = "=IF(RC[-2]=RC[-1],""y"",""0"")"
i = 셀(행.개수, 3).End(xlUp).Row
Selection.AutoFill 대상:=Range("D5:D" & i & "")
끝 서브
스크린샷이 불완전하기 때문에 데이터 영역은 A1:F9, 채우기 영역은 H1:M9라고 가정하겠습니다
코드는 다음과 같습니다.
Private Sub Worksheet_SelectionChange(ByVal 대상 범위)
Dim arr1(1 ~ 54), arr2(1 ~ 54)
Dim x, y, z를 정수로
딤 b, c
Dim a Variant
z = 1
x = 1
년 = 1
c = 1
x = 1에서 9까지
y = 1에서 6까지
arr1(z) = 셀(x, y)
z = z + 1
다음 y
다음x
z = z - 1
z = 1에서 54까지
a = arr1(z)
b=z
x = 1에서 54까지
만약
a = arr1(x)
b=x
끝나면
다음x
arr2(c) = a
c = c + 1
arr1(b) = 0
다음 z
c = c - 1
x = 1에서 9까지
y = 8에서 13까지
셀(x, y) = arr2(c)
c = c - 1
다음 y
다음x
끝 서브
결과 실행
도움이 되셨다면 공감 눌러주세요 감사합니다^_^
Owner: 안녕하세요. 귀하의 질문에 대한 전제 조건이 있습니다:
Excel 버전이 2003인 경우 시스템에서 미리 설정된 56색만 사용할 수 있습니다. VBA 코드를 사용하여 구현된 다른 채우기 색상은 이러한 56가지 색상에 가장 가까운 색상으로 변환됩니다.
Excel 버전이 2007 이상인 경우 셀 채우기 색상에 대한 제한이 거의 없습니다. 셀 채우기 명령을 통해 사용자 정의 색상 채우기를 완벽하게 구현할 수 있습니다. VBA를 사용하지 않고도 RGB 및 HSL 모드를 지원합니다.
VBA를 사용하는 경우 코드는 다음과 같습니다.
Sub test() 'A1 셀을 빨간색, RGB(빨간색, 녹색, 파란색)로 채웁니다. 빨간색, 녹색, 파란색의 값은 0부터 255까지입니다. 다른 값을 설정하여 다른 색상을 얻을 수 있습니다. Range("A1").Interior.Color = RGB(255, 0, 0) '빨간색으로 채우기' 채우기 색상을 제거하려면 이 문장을 사용하세요. Range("A1").Interior.Pattern = xlnoeEnd Sub
위 내용은 EXCEL VBA를 사용하여 자동으로 데이터 채우기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!