- A sógorokhoz érkezik a kompakt Vivo X200 FE
- Milyen GPS-t vegyek?
- Fotók, videók mobillal
- Csak semmi szimmetria: flegma dizájnnal készül a Nothing Phone (3)
- One mobilszolgáltatások
- Garmin Forerunner 970 - fogd a pénzt, és fuss!
- Szerkesztett és makrofotók mobillal
- Mobil flották
- Samsung Galaxy A56 - megbízható középszerűség
- Samsung Galaxy S25 - végre van kicsi!
-
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
-
Delila_1
veterán
válasz
BenJoe80 #4490 üzenetére
A súgóban olvasd el a relatív és abszolút hivatkozásokról szóló részt, ott példákkal mutatják be a különbséget.
Érdekes, hogy nem említik a vegyes hivatkozást (legalábbis ebben a részben).
Próbáld ki, hogy egy cellában $A$1*$C1, vagy $A$1*C$1 műveletet végeztetsz, és ezeket a képleteket átmásolod más sorba, és más oszlopba.
Vegyes a hivatkozás akkor, ha vagy a sort, vagy az oszlopot rögzítjük a $ jellel. -
Delila_1
veterán
Ha rendezheted az adatokat, akkor a "szemét" sorok elkülönülnek a CAL-lal kezdődő soroktól, és könnyen törölhetőek.
Ha ez nem tehető meg, ez a rövid kis makró elintézi:Sub torl()
sor = 1
Do While Cells(sor, 2) <> ""
Cells(sor, 2).Select
If Left(Cells(sor, 2), 3) <> "CAL" Then
Selection.EntireRow.Delete
sor = sor - 1
End If
sor = sor + 1
Loop
End Sub -
Delila_1
veterán
válasz
BenJoe80 #4481 üzenetére
Mindkét lapon beviszed az összefűzős képletet, és lemásolod az adataid mellé.
A feltételes formázáshoz a Szabásjegyzék lapodon kijelölöd C: F oszlopokban lévő tartományodat.
A formázásnál az első legördülőből kiválasztod a képlet értékét. Akkor a másik két beviteli mezőből 1 lesz, oda írod, hogy =$G5>1.Eddig azt hittem, hogy a második lapra csak 1 tételsz írsz, ahhoz a $G$5>1 is jó volt.
Figyelj a $ jelekre! -
Delila_1
veterán
válasz
BenJoe80 #4478 üzenetére
Az Alakatrészjegyzék G4 cellájába: =D4&E4&F4
Ezt lemásolod, végig az adataid mellé.A Szabásjegyzék F5-be: =C5&D5&E5
Mellé, a G5-be: =DARABTELI(Alaktrészjegyzék!G:G;F5)
Kijelölöd a C5: D5 tartományt. (szóközt csak a smilik miatt hagytam).
A feltételes formázásnál a képlet értéke: =$G$5>1
Ennek adsz tulipiros színt. -
Delila_1
veterán
válasz
BenJoe80 #4473 üzenetére
1. Pl. a Munka1 lap A1 celláját akarod látni a Munka2 lapon. A Munka2-nek abba a cellájába, ahol ez az érték kell: =Munka1!A1
2. Nem biztos, hogy jól értem. Vegyük, hogy az 1500 az A3-ban, az × az A4-ben, és az 500 az A5-ben van, a listád meg akárhol. Kijelölöd a listát, Formátum/Feltételes formázás.
Első feltétel: a cella értéke; egyenlő; a harmadik rubrikába beírod, hogy =$A$3. A Formátum gomnál kiválasztod a neked tetszőt. Megnyomod a Bővítés>> gombot, és második feltételnek a $A$5-öt adod, formázod. -
Delila_1
veterán
BenJoe80 Szívesen
Gabcsika Ne nekem köszönd! -
Delila_1
veterán
válasz
Gabcsika #4466 üzenetére
Kétféle módja van.
1. Ha van már personal.xls-ed, oda bemásolod. Ha nincs, készítesz.
Rögzíts egy akármilyen makrót: Eszközök/Makró/Új makró rögzítése. Lényeg, hogy a makró helyének a listából az Egyéni makró-munkafüzetben elnevezésűt jelöld be. Semmi mást nem kell módosítani. Ezt OKézod, indul a makró, amit rögzítesz, pl. módosítod a betű színét, majd a rögzítés vége gombbal befejezed. Létrejött a personal.xls, benne az első makróddal. Most lépj a makró szerkesztőbe:
Eszközök/Makró/Visual Basic (vagy Alt+F11). Bal oldalon a personalhoz tartozó Modules könyvtárban kattints duplán a Module1-re. Jobb oldalon megjelenik az általad rögzített makró. Ez alá másold be az újat. A rögzítettet le is törölheted.2. Másold be a makrót egy üres füzet makró szerkesztőjébe, majd mentsd el egy találó néven, xla kiterjesztéssel (Microsoft Excel bővítmény) formában. Az útvonalat nem kell megadni, az Excel automatikusan beállítja.
Jelöld be az Eszközök/Bővítmények között megjelenő, általad elnevezett bővítményt, ezután alkalmazhatod függvényként. A függvények között a Felhasználói kategóriában, és persze a Mind-ben találod meg ezután.
-
Delila_1
veterán
válasz
Gabcsika #4463 üzenetére
Pontosan ezt a függvényt írta meg neked Fehér Mancs. Látod, nem Sub, hanem Function az eleje.
Másold át a füzetedbe a makrókhoz.
A függvények között a Felhasználói kategóriában és a Mindben ezután megtalálod a CountDistinc nevűt.
A példádnál maradva az Értékekhez az A oszlopodat, a Tartományhoz a B oszlopot, a Vizsg_értékhez pedig A1-et írj be. Húzd le a függvényt.
Ahogy módosulnak az adataid, a függvénnyel előállított értékek is változnak. -
Delila_1
veterán
válasz
Fehér Mancs #4454 üzenetére
Klassz!
-
Delila_1
veterán
válasz
Gabcsika #4445 üzenetére
Akkor két részletben add meg a színezést, az A28: P65536, és a Q1:IV65536 tartományra. 2007-es Excelnél nagyobb a tartomány.
Alapértelmezésben a cellák zárolva vannak, de ez a zárolás csak akkor lép érvénybe, mikor beállítod a lapvédelmet. A nem védendő cellák kijelölése után a cellaformázásnál a védelem fülön kiveszed a pipát a Zárolt elől. Ugyanitt a cella rejtését is beállíthatod, ha azt akarod, hogy a szerkesztőlécen ne jelenjen meg a képlet. Ez utóbbi is csak a lapvédelem beállítása után lép érvénybe.
A lapvédelmet az Eszközök/Védelem/Lapvédelemnél állíthatod be, és jelszót is adhatsz a feloldásához. -
Delila_1
veterán
válasz
Gabcsika #4443 üzenetére
A font.color a karakter színét adja, az interior.color a kitöltését. A kitöltés nélkülit próbáltam a vbNone kifejezéssel megadni, de az fekete lett, ezért inkább a ColorIndexet írtam be, a -4142-t.
Sub colour()
Cells.Interior.Color = vbRed
Range(Cells(1, 1), Cells(27, 16)).Select
Selection.Interior.ColorIndex = -4142
Range("A1").Select
End Sub -
Delila_1
veterán
válasz
Gabcsika #4436 üzenetére
Nagy nehezen megszületett.
Sub Egyezo()
Sheets("Sheet1").Select
'******* Rendezés ***************
Range("A2").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("B1") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom
'************************************
sor_1 = 1: sor_2 = 1
Sheets("Sheet2").Select
Do
első = sor_1
A = Cells(sor_2, 1)
Sheets("Sheet1").Select
Do While Cells(sor_1, 1) <> ""
If Cells(sor_1, 1) = A Then
If Cells(sor_1 + 1, 1) > A Or Cells(sor_1 + 1, 1) = "" Then
ucsó = sor_1
Range("B" & első & ":B" & ucsó).Select
ActiveWorkbook.Names.Add Name:="tartomány", RefersTo:=Selection
Sheets("Sheet2").Select
Cells(sor_2, 2).Select
Selection.FormulaR1C1 = "=SUMPRODUCT((tartomány<>"""")/COUNTIF(tartomány,tartomány))"
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Sheets("Sheet1").Select
ActiveWorkbook.Names("tartomány").Delete
sor_1 = sor_1 + 1
Exit Do
End If
End If
sor_1 = sor_1 + 1
Loop
sor_2 = sor_2 + 1
Sheets("Sheet2").Select
Loop While Cells(sor_2, 1) <> ""
Application.CutCopyMode = False
End SubA csillagokkal határolt rész a Sheet1-en való rendezés. Nálam nincs rovatfej. Ha ez nem jó, helyette rögzítsd makróban a kétkulcsos rendezést, első kulcs az A, második a B oszlop, emelkedő sorrendben.
-
Delila_1
veterán
válasz
Gabcsika #4436 üzenetére
Meg lehet számoltatni az adatok "féleségét". A B oszlop adatait elnevezed tartománynak.
=SZORZATÖSSZEG((tartomány<>"")/DARABTELI(tartomány;tartomány))
avagy
=SUMPRODUCT((tartomány<>"")/COUNTIF(tartomány;tartomány))Ezzel az a baj, hogy azt mutatja meg, hány féle érték van a B oszlopban, függetlenül az A oszlop tartalmáról.
Miért nem jó a kimutatás? Már máskor is kapálóztál ellene. -
Delila_1
veterán
válasz
mimi_bacsi #4430 üzenetére
Használd egészséggel!
-
Delila_1
veterán
válasz
mimi_bacsi #4427 üzenetére
E-mail-ben elküldöm.
-
Delila_1
veterán
válasz
mimi_bacsi #4425 üzenetére
Eszerint ráhibáztam.
-
Delila_1
veterán
válasz
mimi_bacsi #4423 üzenetére
Próbáld meg a ROUNDUP-ot.
-
Delila_1
veterán
Sokszor előfordul, hogy az egyik cikkszám végén van egy szóköz, ami nem látható.
Mindegyik lapon vegyél fel egy üres oszlopban egy TRIM függvényt, ami megszabadítja az adatokat a felesleges szóközöktől.
=trim(a1)
A képleted végighúzod, másolod, és irányítottan, értékként beilleszted az eredeti A oszlopba mindegyik lapodon. -
Delila_1
veterán
válasz
Gabcsika #4409 üzenetére
Például ilyen:
Sub szétcincál()
sor = 1
Do While Cells(sor, 1) <> ""
Cells(sor, 1) = Left(Cells(sor, 1), InStr(Cells(sor, 1), "-") - 1)
sor = sor + 1
Loop
End Subde másképp is meg lehet írni.
Másik, nem makrós megoldás, hogy kijelölöd a sorokat, Adatok/Szövegből oszlopok. A varázsló második lapján a kötőjelet adod meg határoló jelnek. -
Delila_1
veterán
válasz
cellpeti #4404 üzenetére
Kétféle módon, az egyszerűbbet írom le.
Az ikonsoron (eszköztáron) jobb klikk, ott bejelölöd a Űrlapokat.
A megjelenő eszköztárból kiválasztod a kombi panelt, megrajzolod vele a legördülődet.
A jobb klikkre előjövő menüben a vezérlő formázására kattintasz. Bemeneti tartomány az, ahol a legördülőben mutatni kívánt adatok lesznek. Cellacsatolásnak azt a cellát add meg, ahova majd a kiválasztott elem listabeli sorszámát kapod meg. Ezt érdemes a kombi panel mögé tenni, hogy ne legyen zavaró a megjelenő sorszám.
Módosíthatod még a lenyíló sorok számát az alapértékként megadott 8 helyett, és bejelölheted a térhatású árnyékot. -
-
Delila_1
veterán
válasz
Fehér Mancs #4386 üzenetére
A #4377-ben azt írja AvLav, hogy kézzel 18000-ret csinál a 18.000,00-ből.
-
Delila_1
veterán
válasz
Fehér Mancs #4384 üzenetére
A makród szerint egyszerűsítettem az enyémet. Nem lehet elhagyni a 3 utolsó karakter levágását, mert nem kell a tizedes vessző, és a 2 tizedes érték.
Ráadásul ez számmá is alakítja a jelölt terület string típusú adatait.Sub Csere()
Selection.Replace What:=".", Replacement:=""
For Each cv In Selection
Range(cv.Address) = Left(cv.Value, Len(cv.Value) - 3)
Next
End Sub -
Delila_1
veterán
Sub Csere()
Range("A1:A1000").Select
Selection.Replace What:=".", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
For Each cv In Worksheets("Munka1").Range("A1:A1000")
Range(cv.Address) = Left(cv.Value, Len(cv.Value) - 3)
Next
End SubEz a makró megcsinálja mindegyik cserét, de a futtatása előtt a Range("A1:A1000")-et két helyen, és a Munka1-et írd át a saját értékeidre.
-
Delila_1
veterán
válasz
vakondka #4374 üzenetére
Egy új oszlopot formázz meg a formázás egyéni kategóriájában így:
00000###
Az új oszlopban hivatkozz a cikkszámot tartalmazó oszlopra:
=ÉRTÉK(A1) – ha az A oszlopban vannak a cikkszámaid.
A függvényt lemásolod, és az új oszlopot irányítottan, értékként ráillesztheted az eredeti cikkszámos oszlopodra. Az új oszlopot ki is törölheted. -
Delila_1
veterán
Kicsit zavarosra sikerült a kérdés, megbróbálom jól értelmezni.
Vegyük, hogy a másolandó adatait az Adatok nevű lapon vannak.Azon a lapon, ahova át akarod másolni az értékeket, az A1 cellába írd be:
=HA(Adatok!A1>"";Adatok!A1;"")B1-be:
=HA(Adatok!A1>"";Adatok!B1;"")A két képletet együtt másold le olyan hosszan, amilyen hosszan találhatók adatok az Adatok lapon.
-
Delila_1
veterán
válasz
Gabcsika #4364 üzenetére
A 4360-as hozzászólás D oszlopának képletei adják az A oszlop adatait duplikátok nélkül, de az oszlop foghíjas lesz. Makróval lehetne folyamatossá tenni az adatokat.
Oldd meg inkább a feladatot Fehér Mancs javaslata szerint kimutatással. Az Adatok menüben találod, a varázsló szépen végig vezet a szükséges lépéseken. -
Delila_1
veterán
válasz
FragMaster #4338 üzenetére
Solver, elküldtem.
-
Delila_1
veterán
válasz
frankie! #4319 üzenetére
Azt, hogy a beírt betű HELYETT legyen más érték, nehézkes. MELLÉ egyszerűbb az FKERES függvénnyel, de legjobb, ha adatérvényesítéssel viszed be az adatokat.
Írsz egy listát pl. a G oszlopba:
alma
körte
szilvaKijelölöd a cellákat, ahova majd be kell vinned az értékeket, Adatok/Érvényesítés. A Beállítások fülön a Megengedve legördülőből kiválasztod a Listát, a Forrásnál egér segítségével beviszed a lista helyét (pl. G1:G20).
Ezzel a módszerrel nem kell megjegyezni, hogy melyik adathoz milyen betűt gépelj be. A bevitel helyére lépve legördülő jelenik meg, amiből kiválaszthatod a megfelelő elemet.
-
Delila_1
veterán
válasz
Gabcsika #4318 üzenetére
Vegyük, hogy a szétbontandó adataid az A oszlopban vannak. Kijelölöd az adatokat.
Az Adatok/Szövegből oszlopok menüben Tagolt, a következő ablakban Szóköz, Kész.
Ám ez a (456)-ot negatív számként teszi be a sor B oszlopába a zárójel miatt.C1-be: ="(" & B1*-1 & ")" A képletet lemásolod, kijelölöd a C oszlopot. Másolás, B1-be állva értékként beilleszted.
Ezt több idő volt leírni, mint az egészet végrehajtani.
-
Delila_1
veterán
Lúzer
A Fehér Mancs által leírt választhatóság nem igaz a SumColor függvényre.
Ha ott a UsedRange terület lenne a kiválasztott, akkor körkörös hivatkozás jönne létre abban az esetben, mikor a választott színminta megegyezik a függvény cellájának színével. -
Delila_1
veterán
válasz
Fehér Mancs #4313 üzenetére
Mindkét kérdést megoldottad, köszi.
-
Delila_1
veterán
válasz
FragMaster #4309 üzenetére
Nics Cdbl függvényem.
Értékek az ellenőrzéshez:
szám 5 (Double tip. adat)
dátum 7 (Date tip.)
szöveg 8 (String tip.)A 8:25:12 formában megadott időt is számként értelmezi. A VarType és a TypeName függvényekkel lehet lekérdezni -> cells(1,2)=VarType(cells(1,1))
cells(1,3)=TypeName(cells(1,1).Value) Ennél a másodiknál szükséges a Value, anélkül Range értéket ad.Tényleg használhatatlan a könyv. A példa szerint a határértékek mindegyikére 2 válasz is lehetséges. Pl. a 10 órára a Jó reggelt, és a Jó napot is igaz. Elég pongyola megfogalmazás.
-
Delila_1
veterán
válasz
FragMaster #4308 üzenetére
Ennél a feladatnál az is kérdés volt, hogy milyen napra esik a születési dátum. A WEEKDAY függvény (hét.napja) megadja, hogy a hivatkozott dátum a hét hányadik napjára esik. A második paraméter - jelengeg 2 - azt adja meg, hogy hétfővel kezdődik a hét. 1 esetén vasárnap lenne a kezdő nap.
Az év kiszámításához a 365-tel való osztás helyett a YEAR (év) függvényt használd.
(októberben töltöttem az n-edik évemet, és ez a galád most, év elején n+1-et ír ki)Function KORA(Születési_dátum)
If VarType(Születési_dátum) = 0 Then
KORA = "Nincs adat": Exit Function
End If
If VarType(Születési_dátum) <> 7 Then
KORA = "Hiba": Exit Function
End If
KORA = Year(Date) - Year(Születési_dátum)
nap = Weekday(Születési_dátum, 2)
Select Case nap
Case 1
nap = "hétfő"
Case 2
nap = "kedd"
Case 3
nap = "szerda"
Case 4
nap = "csütörtök"
Case 5
nap = "péntek"
Case 6
nap = "szombat"
Case 7
nap = "vasárnap"
End Select
KORA = KORA & " éves, születésének napja: " & nap
End Function -
Delila_1
veterán
válasz
FragMaster #4306 üzenetére
-
Delila_1
veterán
válasz
Fire/SOUL/CD #4292 üzenetére
Ezzel csak az a baj, hogy ha az értékekkel ellátott cellák mondjuk az A1:AA500 tartományban vannak, és az összeszámolandó színes cellák ezen kívül esnek (tehát tartalmilag üresek), akkor azokat nem számolja meg.
Lúzer
Ez a fenti hiányosság akkor is igaz, ha a range("a65536".... stb-vel keresed ki a tartomány széleit. Vagyis jobb megadni a tartományt. -
Delila_1
veterán
Így:
Function CountCCC(Mintacella As Range)
Dim rngCell As Range
Dim Tartomany As Range
sor = Range("A65536").End(xlUp).Row
Set Tartomany = Range(Cells(1, 1), Cells(sor, 1))
nColor = Mintacella.Interior.Color
nResult = 0
For Each rngCell In Tartomany
If rngCell.Interior.Color = nColor Then
nResult = nResult + 1
End If
Next rngCell
CountCCC = nResult
End Function -
Delila_1
veterán
Function CountCCC(Mintacella As Range)
Dim rngCell As Range
Dim Tartomany As Range
Set Tartomany = Range("A1:BB5000")
nColor = Mintacella.Interior.Color
nResult = 0
For Each rngCell In Tartomany
If rngCell.Interior.Color = nColor Then
nResult = nResult + 1
End If
Next rngCell
CountCCC = nResult
End FunctionPróbáld így, de már az A1: BB5000-nél is elidőzik. Egy normális tartományt adj neki közvetlenül a makróban. Biztosan van ennél egyszerűbb megoldás, de azt nem ismerem.
-
Delila_1
veterán
válasz
FragMaster #4267 üzenetére
A csirkés feladatra:
Function HETES(Kikelési_dátum)
If VarType(Kikelési_dátum) = 0 Then 'Üres string
HETES = "Nincs adat": Exit Function
End If
If VarType(Kikelési_dátum) <> 7 Then 'Nem dátum tip. adat
HETES = "Dátumot kérek": Exit Function
End If
HETES = Round((Date - Kikelési_dátum) / 7) 'Kerekítve
End Function
Sub Start_HETES()
Kikelési_dátum = ActiveCell.Value
HETES Kikelési_dátum
ActiveCell.Offset(, 1).Value = HETES(Kikelési_dátum)
End SubA lényeg a Function, a zárójelek közé olyan nevet adj a változónak, ami utal a függvényben megadandó adatra.
-
Delila_1
veterán
válasz
FragMaster #4265 üzenetére
Szívesen. Szerintem a #4261-est csináld meg.
-
Delila_1
veterán
válasz
FragMaster #4257 üzenetére
A fix érték helyett a Start()-ban cellahivatkozást adj meg, akkor a hibára utaló szövegeket is előcsalhatod.
xnum=cells(1,1)
-
Delila_1
veterán
válasz
FragMaster #4257 üzenetére
A "parancsikonból" talán ezt jelenti:
Sub Start()
xnum = 5000
GÁZ xnum
MsgBox GÁZ(xnum)
End Sub -
Delila_1
veterán
Az előző leírásaidból számomra nem derült ki, hogy a háttereket akarod kifesteni, és az sem, hogy a C: D oszlopok értékadására is dátum-beírással reagáljon a program. Azt gondoltam, ez a két oszlop csak a színezésre szolgál, mármint a progi szempontjából.
Ímé a legújabb változat, a legújabb óhajok szerint (az előzőek helyett).
Sub Worksheet_Change(ByVal Target As Excel.Range)
sor = Target.Row: oszlop = Target.Column
If oszlop = 1 Then Exit Sub
If oszlop = 3 Or oszlop = 4 Then
Range(Cells(sor, 1), Cells(sor, 13)).Select
If Target.Value = "alma" Then Selection.Interior.ColorIndex = 3
If Target.Value = "körte" Then Selection.Interior.ColorIndex = 5
End If
Cells(sor, oszlop).Select
Cells(sor, 1).Select
Selection.Formula = "=TODAY()"
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End Sub -
Delila_1
veterán
Akkor ezt a makrót másold be:
Sub Worksheet_Change(ByVal Target As Excel.Range)
sor = Target.Row: oszlop = Target.Column
If oszlop = 2 Or oszlop > 4 Then
Cells(Target.Row, 1).Select
Selection.Formula = "=TODAY()"
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Exit Sub
End If
If oszlop = 3 Or oszlop = 4 Then
Range(Cells(sor, 1), Cells(sor, 13)).Select
If Target.Value = "alma" Then Selection.Font.ColorIndex = 3
If Target.Value = "körte" Then Selection.Font.ColorIndex = 5
End If
Cells(sor, oszlop).Select
End SubNem tudom, le vannak-e írva a színkódok, viszont van egy kis makróm, ami kiírja az aktuális cella karakter- és háttér színét:
Sub Szín_lekérdezés()
If Selection.Font.ColorIndex = -4105 Then
MsgBox "A karakter színkódja: " & Selection.Font.ColorIndex & " (automatikus)"
Else
MsgBox "A karakter színkódja: " & Selection.Font.ColorIndex & " "
End If
If Selection.Interior.ColorIndex = -4142 Then
MsgBox "A cella hátterének színkódja: " & Selection.Interior.ColorIndex & " (átlátszó)"
Else
MsgBox "A cella hátterének színkódja: " & Selection.Interior.ColorIndex & " "
End If
End SubEzt nem a laphoz kell rendelni, hanem a VBA szerkesztőben az Insert/Module menüponttal új modult kell létrehozni, és erre az új lapra másolni.
-
Delila_1
veterán
Az első kérdésed megoldásához az alábbi makrót másold be a laphoz (lapfülön jobb klikk, a gyorsmenüből a "Kód megjelenítése" menüpontot választva a VBA szerkesztőjében jobb oldalon kapsz egy üres lapot, oda):
Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column > 1 Then
Cells(Target.Row, 1).Select
Selection.Formula = "=TODAY()"
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End If
Application.CutCopyMode = False
End SubA második kérdéshez nem írtad, hogy ugyanazon a lapon akarod-e alkalmazni, ahol az előbbit. Én másik laphoz írtam hozzá makrót, amit ugyanúgy másolj be a másik lap kódlapjához, mint az előzőt. A makró az F oszlop változását figyeli (IFoszlop=6), és két értékre színezi az egész aktuális sort (target.value="alma" –> piros karakter, target.value="körte" –> kék karakter). Az oszlopba érdemes a két választható választ előre megadni az Adatok/Érvényesítés/Beállítások fül/Lista, a Forráshoz alma; körte.
Sub Worksheet_Change(ByVal Target As Excel.Range)
sor = Target.Row: oszlop = Target.Column
If oszlop = 6 And Target.Value = "alma" Then
Rows(Target.Row & ":" & Target.Row).Select
Selection.Font.ColorIndex = 3
End If
If oszlop = 6 And Target.Value = "körte" Then
Rows(Target.Row & ":" & Target.Row).Select
Selection.Font.ColorIndex = 5
End If
Cells(sor, oszlop).Select
End Sub -
Delila_1
veterán
A #4231-ben azt írtam, hogy a részösszeg függvényt a tartomány alá kell írni. Ez nem igaz, bárhova be lehet tenni, úgyis a megadott tartomány határozza meg, melyik adatokkal számoljon.
Lúzer! Nem figyelsz, te szoktál helyretenni, ha hülyeséget írok!
-
Delila_1
veterán
Arra való a részösszeg függvény.
Az összegzendő oszlop alá=részösszeg(9;tartomány)
ahol a 9 egy függvényszám, ami jelzi a függvénynek, hogy a tartomány adatait összegezni kell. A súgó megmondja a többi függvényszám értelmét.
Ez a függvény mindig az aktuális szűrésben látható cellák összegét adja, függetlenül attól, hogy ezt, vagy másik oszlopot szűrtél-e meg.
Új hozzászólás Aktív témák
Hirdetés
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- A sógorokhoz érkezik a kompakt Vivo X200 FE
- Linux kezdőknek
- Milyen GPS-t vegyek?
- Autós topik
- 3D nyomtatás
- Villanyszerelés
- Nehéz helyzetben az SMIC, régebbi chipet használ az új Huawei laptop
- Google Chrome
- AMD Navi Radeon™ RX 9xxx sorozat
- További aktív témák...
- DDR5 8/ 16/ 32GB 4800-5600MHz SODIMM laptop RAM, több db- számla, garancia
- Egyedi ékszerdobozka
- ÁRGARANCIA!Épített KomPhone i3 10105F 8/16/32GB RAM RX 6500 XT 4GB GAMER PC termékbeszámítással
- LG 32SQ700S-W - 32" VA Smart - 3840x2160 4K UHD - 62Hz 5ms - WebOS - Wifi + BT - USB-C - Hangszórók
- Telefon felvásárlás!! iPhone X/iPhone Xs/iPhone XR/iPhone Xs Max
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: Promenade Publishing House Kft.
Város: Budapest