Şu anda, Komut Dosyası Düzenleyicisi'ni kullanarak, geçerli tarih ile birlikte, 2. satırdaki hücreye açık bir Google Sheet belgesi ayarlamaya çalışıyorum. Tarihler kronolojik olarak ve günlük olarak A2: IK2'den düzenlenmiştir. Onlar mm/dd formatlı.Google E-Tablolar elektronik tablosu, günümüzün tarihini içeren tek bir satırda hücreye nasıl açılır?
Benzer bir soru için bu web sitesinde bir yanıt buldum, ancak tarihleri tek bir sütunda listelendi, ancak tarihlerim tek bir satırda. Aşağıdaki kod Marshmallow tarafından buraya gönderildi: https://webapps.stackexchange.com/questions/78927/how-to-make-google-sheet-jump-to-todays-row-when-opened).
hatmi cevabı:
function onOpen() {
var menu = [{name: "Jump to today's date", functionName: "jumpToDate"}];
SpreadsheetApp.getActiveSpreadsheet().addMenu("Custom", menu);
jumpToDate();
}
function jumpToDate() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var range = sheet.getRange("A2:IK2"); //given that it is in row 2
var values = range.getValues();
var day = 24*3600*1000;
var today = ((new Date().setHours(0,0,0,0))/day);
var ssdate;
for (var i=0; i<values.length; i++) {
try {
ssdate = values[i][0].getTime()/day;
}
catch(e) {
}
if (ssdate && Math.floor(ssdate) == today) {
sheet.setActiveRange(range.offset(0,i,1,1)); //to offset columns not rows
break;
}
}
}
ben sütunlara satırlardan aktarılması (aralık sorumluydu düşündüm
"C:: A" dan "A2
function onOpen() {
var menu = [{name: "Jump to today's date", functionName: "jumpToDate"}];
SpreadsheetApp.getActiveSpreadsheet().addMenu("Custom", menu);
jumpToDate();
}
function jumpToDate() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var range = sheet.getRange("A:A");
var values = range.getValues();
var day = 24*3600*1000;
var today = parseInt((new Date().setHours(0,0,0,0))/day);
var ssdate;
for (var i=0; i<values.length; i++) {
try {
ssdate = values[i][0].getTime()/day;
}
catch(e) {
}
if (ssdate && Math.floor(ssdate) == today) {
sheet.setActiveRange(range.offset(i,0,1,1));
break;
}
}
}
ben bunu modifiye: IK2 "ve belirtilen ofsetin değiştirilmesi, ancak kodun herhangi bir etkisi olduğunu görmüyorum. Bugünün tarihine kadar açılsın.
Burada ne eksik? Herhangi bir öneri?
Not 'ki ((new Date() setHours (0,0,0,0))/gün.)' Gerçekten dikkate bütün bu parantez ihtiyacı yoktur: 'new Date() setHours (. 0,0,0,0)/gün '. Ve saat diliminiz GMT değilse, yerel saatlerin sıfır, UTC saatlerini değil, yani 'Math.floor (ssdate) == today' değil, tüm günler değil, sıfır olarak ayarlamanız gerekir. ondalık kesiti kesen), saat diliminiz GMT olmadıkça asla doğru olmaz (bu nedenle ondalık kısım yoktur). – RobG