- iPhone topik
- Xiaomi 15T Pro - a téma nincs lezárva
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Milyen okostelefont vegyek?
- Lelkiismeret-furdalás nélkül zabálhatod a süteményt a Galaxy S26-tal
- Esélyes, hogy drágul a Nothing Phone (4a) széria
- Apple iPhone 13 mini - miért nem veszik elegen?
- Samsung Galaxy A52s 5G - jó S-tehetség
- Samsung Galaxy A56 - megbízható középszerűség
- Motorola Moto G77 - kis motor, nagy karosszéria
-
Mobilarena
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
Mutt
senior tag
Másik fórumon a felhasználó kapott egy Excel VBA kódot, ami asztali környezetben jól működik, de online felületen már nem. A probléma azon túl, hogy a VBA nem fog online futni, hogy a felhasználó MS Excel helyett Google Spreadsheet-et használ, aminek más a makró nyelve.
A feladat az, hogy automatikusan kell azokat az oszlopokat eltüntetni, ahol az oszlop második sorában található dátum már elmúlt. A feladat annyival bonyolultabb, hogy egyes cellák össze vannak vonva, így nem csak egy oszlopot, hanem egyszerre kettőt kell elrejteni.
A problémához ez a makró használható:
//onOpen esemény gondoskodik arról, hogy a munkafüzet megnyitásakor adott parancs lefusson
function onOpen() {
var spreadsheet = SpreadsheetApp.getActiveSheet();
//a makró csak az adott nevű munkalap megnyitásakor fog lefutni
if (spreadsheet.getSheetName() == "Munkalap1") {
autohide();
}
};
//ez a makró fogja az adott oszlopokat elrejteni
function autohide() {
var spreadsheet = SpreadsheetApp.getActiveSheet();
//aktuális idő változóba mentése
var currentdate = new Date();
//az aktív munkalap második sorából az adatok változóba mentése
var ranges = spreadsheet.getRange("2:2");
var values = ranges.getValues();
//a második sorban lévő adatokon egyesével végigmegyünk
//ha a dátum régebbi mint az aktuális és az oszlop még nincs elrejtve, akkor elrejtjük az oszlopot és a mellete lévőt is
for (var i = 0; i < ranges.getNumColumns(); i++) {
if (values[0][i] < currentdate & values[0][i].toString().length > 0 & !spreadsheet.isColumnHiddenByUser(i+1)) {
spreadsheet.hideColumns(i+1, 2);
}
}
};üdv
Új hozzászólás Aktív témák
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest
Fferi50

