2016-06-09 5 views
0

잘하고 있습니다. 필자는 필자가 프로그래머가 아니며 내가 시작한 코드가 더 많은 오류가있는 것으로 확신한다고 말하면서 머리말을 붙일 것이다. 다행히 도울 수 있습니다. D.Excel VBA 오프셋 복사 복사

excel sheet

그러나,이 시트의 크기가 다른 프로그램에서이 시트의 모든 새로운 세대로 변경할 수 있습니다

나는 이런 식으로 나오는 다른 프로그램에서 생성됩니다 엑셀 시트를 . (예, A는 다음번에 7을 가질 수 있고 D는 9를 가질 수 있습니다.) 그리고이 시트는 주어진 시간에 특정 그룹의 정보 만 필요하기 때문에 쉽게 수학을 수행하는 데 사용할 수 없습니다.이 예제에서는 B와 D 만.

내가 만들 바라고은 다음과 같습니다 뭔가를 그 생성 된 시트를 받아, 돌려 무언가이다 :

result sheet

이것은 내가 지금 작성한 코드 멀리지만, 내가 뭘하는지 정말로 모르기 때문에 나는 계속해서 많은 문제를 겪고있다. 어떤 도움을 주시면 감사하겠습니다.
1. 기능이 될 수없는 서브, 마무리의 "중간에"이수 많은 논리 오류는 코멘트에 있습니다

Option Explicit 
Sub Numbers() 
Dim matchesFound As Integer 
Dim row As Integer 
Dim c As Integer 
Dim copyRow As Integer 
Dim copyLocationColumn As Integer 

Dim arr(2) As String 
arr(0) = "1" 
arr(1) = "2" 
arr(2) = "3" 

Function arrayContainsValue(array, varValue) 
    found = false 
    for each = 0 to array 
    if array(i) = varValue then  
     found = true 
     exit for  
    arrayContainsValue = found 
End Function 

row = 1 
c = 1 
copyLocationColumn = 1 
copyRow = 1 

matchesFound = 0 
Do While matchesFound < 3 
    if arrayContainsValue(arr, ThisWorkbook.Sheets("Data").Cell(column,row)) 

    matchesFound = matchesFound + 1 
    Do While ThisWorkbook.Sheets("Data").Cell(column, row) 
     ThisWorkbook.Sheets("postHere").Cell(copyLocationColumn, copyRow) = _ 
         ThisWorkbook.Sheets("postHere").Cell(c + 1, row) 
     copyRow = copyRow+1 
     row = row + 1 
    Loop 
    End If 
row = row + 1 
Loop 

End Sub 

답변

1

는 Excel은 내가 그들을 설명하는 요약을 다하겠습니다 자동으로 강조 Sub (sub에서 Function을 가져 와서 end sub라고 말할 때까지 붙이십시오.
2.array는 금지 된 이름입니다. 다른 변수 이름으로 시도하십시오.
3. 각 = 0 ~ 배열로? 무슨 뜻입니까? like? for each는 무언가 요소가되어야합니다 for for 및 to는 Array의 각 요소에 대해 숫자로 정의 된 것입니다 (counter = 1에서 15까지)

Function arrayContainsValue(***array***, varValue) '2nd problem  
found = false 
    for each = 0 to array '3rd problem 
    if array(i) = varValue then  
     found = true 
     exit for  
    arrayContainsValue = found 
End Function 

.... 4. 최종

if arrayContainsValue(arr, ThisWorkbook.Sheets("Data").Cell(column,row)) 

나는이 문제에 어떻게 관련되는지에 코딩 논리가 언급되지 않는 (?)

에서 다음을 놓치고있어