2017-12-29 11 views
0

누군가 나에게 아래의 VBA 코드를 설명해 주시겠습니까?Aasy 플립형 열 코드

저는 VBA 코딩을 처음 접했기 때문에 작업 루틴에서 좀 더 효율적으로 또는 더 빨리 수행 할 수있는 뭔가가 발생할 때마다 인터넷에서 VBA 코드를 검색하고이를 필요에 맞게 조정합니다. 이것은 대부분의 경우 꽤 잘 작동합니다. 그러나 시간이 지나면 나 자신을 처음부터 직접 작성하고 싶습니다.

편집 :

그래서 힘든 시간 코딩의 다음과 같은 간단한 조각을 이해를이 시간. 나는 for 문을 변경하고 Ubound(arr,2)을 제거하는 것을 의미하는 1 열 밖에 존재하는 범위에서만 작동하도록 코드를 변경하여 통찰력을 얻으려고했지만 막혔다. 누군가가 단일 열 범위에서만 작동하는 것처럼 코드 (수식)가 어떻게 표시되어야하는지 설명 할 수 있습니까?

Sub FlipColumns() 

Dim Rng As Range 
Dim WorkRng As Range 
Dim Arr As Variant 
Dim i As Integer, j As Integer, k As Integer 
On Error Resume Next 

xTitleId = "ExcelTool" 
Set WorkRng = Application.Selection 
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address,Type:=8) 
Arr = WorkRng.Formula 
For j = 1 To UBound(Arr, 2) 
    k = UBound(Arr, 1) 
    For i = 1 To UBound(Arr, 1)/2 
     xTemp = Arr(i, j) 
     Arr(i, j) = Arr(k, j) 
     Arr(k, j) = xTemp 
     k = k - 1 
     Next 
Next 
WorkRng.Formula = Arr 
End Sub 
+1

그것은 열을 튀기는 것을 또는 열) 수식의 선택 범위가 A2 : A20이면 A2는 원래 A20의 수식으로 끝나고 A3는 원래 A19의 수식으로 끝날 것입니다 ... A20은 원래 수식으로 끝납니다. A2. (그러나 새로운 것을 볼 때마다 누군가에게 당신에게 설명해 줄 것을 요청해야한다면 코드를 이해하는 데 어려움을 겪을 것입니다. 코드를보고 이해할 수없는 부분을 연구하는 방법을 배워야합니다.) – YowE3K

+0

참고 : [코드가 작성한 웹 페이지] (https://www.extendoffice.com/documents/excel/712-excel-flip-column.html)에서 코드가 수행하는 작업에 대한 설명도 있습니다. . – YowE3K

+0

답장을 보내 주셔서 감사합니다! 나는 이것이 최선의 방법이 아니라는 것을 안다. 그러나 나는 또한 그것이 무엇을하는지를 안다. 그러나 나는 "J = 1 to Ubound (다음)로 끝나는"을 시작으로 실제 공식에서 통찰력을 얻는 더 쉬운 방법을 찾을 수 있기를 희망했다. " 왜냐하면이 수식은 여러 개의 선택된 열 (Ubound (arr, 2))에 대한 속임수이기 때문에 코드를 변경하여 단일 열 범위를 선택할 때만 작동하기 때문에 생각했습니다. 하지만 거기에 붙어있어) – Laurens

답변

1

당신이 사용자는 하나의 열을 처리 할 수 ​​있도록하려면 그들이 다중 열 범위, 예를 선택하면, 당신은 단지 Exit Sub을 추가 할 수 있습니다 (

'... 
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address,Type:=8) 
If WorkRng.Columns.Count > 1 Then 
    MsgBox "Sorry, only a single column should be selected" 
    Exit Sub 
End If 
'...