COPIA DE LA HOJA ORIGEN A LA HOJA DESTINO

mail@pastecode.io avatar
unknown
javascript
24 days ago
2.4 kB
2
Indexable
Never
// EN ESTE HOJA, ESTA LA FUNCION PARA QUE HAGA LA COPIA DE LA HOJA ORIGEN A LA HOJA DESTINO

function autocompletar() {
  var sourceSheetId = "1QjfxjYtWTVcQ0bbNfk3iehgyJcq05462f_XgbnreItY"; // ID de la hoja de origen
  var sourceSheetName = "ORIGEN"; // Nombre de la hoja de origen
  var targetSheetName = "DESTINO"; // Nombre de la hoja de destino
  
  // Obtener la hoja de origen por su ID
  var sheet = SpreadsheetApp.openById(sourceSheetId).getSheetByName(sourceSheetName);
  
  // Verificar si la hoja de origen se encontró correctamente
  if (sheet) {
    // Obtener la hoja de destino
    var targetSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(targetSheetName);
    
    // Obtener los rangos de datos en ambas hojas
    var sourceRange = sheet.getDataRange();
    var targetRange = targetSheet.getDataRange();
    
    // Copiar los datos de la hoja de origen a la hoja de destino
    copyMissingData(sourceRange, targetRange);
  } else {
    Logger.log("No se encontró la hoja de origen con el ID proporcionado.");
  }
}

function completaregistro() {
  var idsheet = '1QjfxjYtWTVcQ0bbNfk3iehgyJcq05462f_XgbnreItY';
  var sheetnamepedidos = 'ORIGEN';
  var sheetnamedestino = 'DESTINO';
  
  // Abrir la hoja de cálculo por su ID
  var spreadsheet = SpreadsheetApp.openById(idsheet);
  
  // Obtener la hoja de origen y destino
  var sheetPedidos = spreadsheet.getSheetByName(sheetnamepedidos);
  var sheetDestino = spreadsheet.getSheetByName(sheetnamedestino);
  
  // Obtener los rangos de datos en ambas hojas
  var sourceRange = sheetPedidos.getDataRange();
  var targetRange = sheetDestino.getDataRange();
  
  // Copiar las ediciones de la hoja de destino sobre sí misma
  copyMissingData(targetRange, targetRange);
}

// Función para copiar los datos de un rango de origen a un rango de destino solo si el destino está vacío
function copyMissingData(sourceRange, targetRange) {
  var sourceValues = sourceRange.getValues();
  var targetValues = targetRange.getValues();
  var numRows = Math.min(sourceValues.length, targetValues.length);
  var numColumns = Math.min(sourceValues[0].length, targetValues[0].length);
  
  for (var i = 0; i < numRows; i++) {
    for (var j = 0; j < numColumns; j++) {
      if (!targetValues[i][j]) { // Si la celda en el destino está vacía
        targetRange.getCell(i + 1, j + 1).setValue(sourceValues[i][j]); // Copiar el valor del origen al destino
      }
    }
  }
}
Leave a Comment