본문 바로가기

GAS29

[GAS] 중복없는 로또번호 만들기 https://www.youtube.com/watch?v=dX3krhu1PqM&list=PLxmyPu_Id2smCXbzw2IgsRpizPIaR8G-i&index=5 앱스 스크립트로 로또번호를 생성하는 코드이다. 기존에 본인이 했던 VBA로 만드는 코드에서는 Colection을 통해서 중복된 수가 나오면 중복된 수가 없을 때 까지 무한반복해서 로또 번호를 추출하곤 했다. 이 코드에서는 1부터 45까지 배열을 만든 후 이것을 복사하여 번호가 추출이 되면 그 번호를 빼곤 다시 추출하여 중복되는 수가 애초에 발생하지 않도록 하고 있다. EXCEL AND VBA님은 이것을 위해 JSON.stringify로 배열을 String화 한 후 다시 JSON.parse를 통해 배열의 사본을 위해 복사하는 코드를 만들었지만,.. 2023. 4. 17.
[GAS] 시트 통합 && 필터링 https://www.youtube.com/watch?v=Ews4TTolXf4&list=PLxmyPu_Id2smCXbzw2IgsRpizPIaR8G-i&index=3&ab_channel=EXCELANDVBA 시트를 통합 후 필터링 하는 구문이다. 더보기 function sheets_Filter() { let wb = SpreadsheetApp.getActiveSpreadsheet(); // wb 선언 let sht = wb.getSheetByName('main'); // sht 선언 (main) let employee = sht.getRange("F5").getValue(); let item = sht.getRange("g5").getValue(); let shtsE = ['main'] let fx_fil.. 2023. 4. 4.
[GAS] 시트통합 매크로 https://www.youtube.com/watch?v=pdCE4gCr6q8&list=PLxmyPu_Id2smCXbzw2IgsRpizPIaR8G-i&index=2&ab_channel=EXCELANDVBA EXCEL AND VBA님의 시트를 통합하는 매크로이다. 엑사남님 유튜브 강의를 보면서 공부했듯 VBA GAS 님의 강의를 리뷰하면서 성장해 나가려 한다. 시트를 통합하는 매크로는 VBA에서 많이 하는 형태이다. 시트를 통합하기 위해서는 메인시트를 제외한 모든 시트를 순환하면서 데이터를 가져오는것이 포인트이다. 각 데이터 시트마다 헤드값 + 데이터로 구성이 되기 때문에 헤드는 최초에 한번만 들어가야 한다. if (first){ // 통합시트의 말머리를 가져오기 위한 작업 result = result.c.. 2023. 4. 3.
[GAS] VBA 기초방 #9 [ 데이터 영역 선택하기 ] function haja_gas_1() { const sht = SpreadsheetApp.getActiveSheet(); // 시트설정 const cell = sht.getRange("b2:c8").getValues(); // 순환할 영역 설정 let rngX = sht.getRange("f2"); // 출력할 영역의 초기값 sht.getRange("g2:k8").clearContent // 기존 출력한 영역 초기화 cell.forEach(ele=>{ const C = ele[1]; rngX.offset(0,C).setValue(ele[0]); // 상수 C 만큼 offset하여 각 배열의 두번째 값을 출력 rngX = rngX.offset(1,0); }) } function haja_gas_2() {.. 2023. 1. 8.