2017-02-24 3 views
0

VBA와 Python에서 왔기 때문에 Google 스프레드 시트에서 자바 스크립트를 사용하려고했습니다. 나는 아주 간단한 것을하려고 노력하고있다. LastRow를 통해 행 2에서 열 D에서 사점 Google 시트 스크립트 - 다른 셀의 루프 값

  • 이름 배열 - - 행 난에 대한 세포의 사점
  • 복사 값 및 열 E에 붙여 넣기 -

    1. 은 열 D에서 마지막 행을 찾기 성공하지

    data[0][0]을보고 나서 열 E에 정보를 복사 한 다음 data[1][0]을보고 열 E에 복사 정보 등을 lastRow까지 올려야합니다. 모든 것이 마지막 줄까지 작동하며 "범위의 좌표 또는 크기가 유효하지 않습니다."라는 오류가 나타납니다.

    여기 내 코드입니다 : 나는 그것을 알아 낸 더 그것으로 장난 후

    function GatherStoreInfo() { 
        var ss = SpreadsheetApp.getActiveSpreadsheet(); 
        var ReportSheet = ss.getSheetByName('Report'); 
    
        for (var i = 0; i < lastRow('A') + 1; i = i+1) { 
        var data = ReportSheet.getRange(2, 4, lastRow('D'), 1).getValues(); 
        ReportSheet.getRange(i, 2).setValue(data[i][0]); // <- This doesn't work 
        } 
    } 
    
  • 답변

    0

    확인 : (참고 lastrow()은 지정된 열에서 마지막 행 번호를 발견하는 기능입니다). 나는 누군가가 이것에 비틀 거리는 경우를 대비하여 대답을 게시 할 것입니다.

    기본적으로 내가 0에서 시작했기 때문에 그 범위에서 0 행부터 시작하여 범위에서 i + 1을 추가해야한다는 것을 의미합니다. 다음은 최종 코드입니다.

    function GatherStoreInfo() { 
        var ss = SpreadsheetApp.getActiveSpreadsheet(); 
        var ReportSheet = ss.getSheetByName('Report'); 
    
        for (var i = 0; i < lastRow('A'); i = i+1) { 
        var data = ReportSheet.getRange(1, 4, lastRow('D'), 1).getValues(); 
        SpreadsheetApp.getActiveSheet().getRange(i + 1, 5).setValue(data[i]); 
        } 
    } 
    
    관련 문제