2014-10-31 2 views
0

Excel 셀 - 셀 (1, "Z")에 일부 값이 들어 있습니다. 이제 Z 다음에 10 개의 셀을 쓰고 싶습니다. 셀 (1, "AJ")이됩니다. 'Z'에 10을 더하는 매크로를 작성하여 AJ라는 열 이름보다 우수한 매크로를 작성할 수 있습니까?동적으로 Excel의 열 이름을 증가시키기위한 매크로

+2

가능합니다. 나는 당신에게 답을 줄 수는 있지만 먼저 그것을 시도해보기 바란다. 'STEP '을 사용하여'FOR' 루프를 사용할 수 있습니다. 시도해 보아라. 만일 당신이 꼼짝 못한다면, 시도한 코드를 게시하고 거기에서 가져갈 것이다. –

+0

또한'셀 (1, "Z")'은'셀 (1,26)'또는'셀 (1, i)'여기서'i'는'For' 루프에서 증가 할 수 있습니다. :) –

답변

2

당신은 당신의 프로젝트에 두 가지 기능을 추가 할 수 있습니다 :

  1. 첫 번째, 각각의 열 번호로 문자 변환;
  2. 숫자를 추가 한 후 문자로 변환합니다.

그래서 여기 당신이가는 :

Sub YourMacro() 

columnLetter = ColLtr(ColNum("Z") + 10) 
MsgBox columnLetter 

End Sub 

Function ColLtr(iCol As Long) As String 
    If iCol > 0 And iCol <= Columns.Count Then 
     ColLtr = Evaluate("substitute(address(1, " & iCol & ", 4), ""1"", """")") 
    End If 
End Function 

Function ColNum(iCol As String) As Long 
    ColNum = Range(iCol & 1).Column 
End Function 

그런 다음 필요에 따라 코드를 다시 쓰기, 이것은 단순히 "는 Z 후 10 열"의 알파벳 버전을 다시주고있다.

+0

숫자를 그대로 유지하여 열 인덱스를 사용하여 작업 할 수있는 경우에도 실제로 문자를 숫자로 변환하고 작업을 수행 한 다음 다시 문자로 변환하는 방법을 배우려는 것입니다. –

+3

당신은 이전에 이미 다루어 진 무언가를 쓰는 데 너무 많은 고통을 겪지 않아도됩니다;) [this] (http://stackoverflow.com/questions/10106465/excel-column-number-from-column -name/10107264 # 10107264) –

+2

@SiddharthRout 맞습니다. 일부 답변은 찾기 쉽기 때문에 항상 먼저 노력해야합니다. 다음 번에 코드를 작성하고 사용자의 노력을 기다리고 싶습니다. –