- Kiderült, hogy hol veszik a legtöbb kínai EV-t
- Vodafone otthoni szolgáltatások (TV, internet, telefon)
- Itt van az eddig legjobban teljesítő kétfiókos NAS a TerraMastertől
- Középpontba kerültek a hibrid autók, alig fogyaszt a BYD újdonsága
- DIGI kábel TV
- Kaspersky Antivirus és Internet Security Fórum
- Synology NAS
- WLAN, WiFi, vezeték nélküli hálózat
- Mesterséges intelligencia topik
- Hálózati / IP kamera
-
IT café
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
-
TheSaint
aktív tag
-
TheSaint
aktív tag
válasz TillaT #50362 üzenetére
"Esetleg létezhet olyan metódus, amivel a háttérben, a felhasználó által érzékelhetetlen pillanatig aktívvá tehetnék egy másik munkalapot, majd egyből visszatérnék az adott munkalapra?"
Jó ötlet, erre van is megoldás elvileg:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim currentSheet As Worksheet
Set currentSheet = ActiveSheet
vbnet
Copy code
ThisWorkbook.Sheets(1).Activate
Application.OnTime Now + TimeValue("00:00:01"), _
"GoBackToCurrentSheet"
Sub GoBackToCurrentSheet()
currentSheet.Activate
Call ScrollAreaInterpret
End Sub
End Sub
-
TheSaint
aktív tag
válasz TillaT #50365 üzenetére
"Arra még nem sikerült rájönnöm, hogy a kód hatása alatt miért nem engedi a sorok és/vagy oszlopok kijelölésével az egész sorok/oszlopok beszúrását/törlését; hogy miért csak a táblázaton belüli cellák kijelölésével enged beszúrni és törölni egész sorokat/oszlopokat"
Egy próba erejéig:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Rows.Count > 1 Or Target.Columns.Count > 1 Then
Application.CutCopyMode = False
Application.OnKey "^+{INSERT}", "InsertEntireRowOrColumn"
Application.OnKey "^+{DELETE}", "DeleteEntireRowOrColumn"
Else
Application.OnKey "^+{INSERT}"
Application.OnKey "^+{DELETE}"
End If
End Sub
Sub InsertEntireRowOrColumn()
If Selection.Rows.Count > 1 Then
Selection.EntireRow.Insert
ElseIf Selection.Columns.Count > 1 Then
Selection.EntireColumn.Insert
End If
End Sub
Sub DeleteEntireRowOrColumn()
If Selection.Rows.Count > 1 Then
Selection.EntireRow.Delete
ElseIf Selection.Columns.Count > 1 Then
Selection.EntireColumn.Delete
End If
End Sub
-
Fferi50
őstag
válasz TillaT #50368 üzenetére
Szia!
"nem értem a "Miért"-jét, hogy miért működik így."
Amikor lekorlátozod a görgethető sorok/oszlopok tartományát, akkor azon a tartományon kívülre nem viheted a cursort (aktív cellát) - hiszen az eredeti szándékod is ez volt.
Egész sort/oszlopot azért nem jelölhetsz ki, mert a kijelölés túl lógna az "engedélyezett" tartományon.
Üdv. -
Pá
addikt
válasz TillaT #50386 üzenetére
A fenti menüsorban a személyre szabással el tudsz helyezni új menüpontokat és azon belül mindenféle parancsot. Én még nem csináltam, de több fileból is dolgozom, ahol így van megoldva, szóval biztos lehetséges, ha ez neked megfelel.
Szóval ide új menüpont és abba a vezérlők.[ Szerkesztve ]
''Annyira vagyunk egészségesek, amennyire a gondolataink humánusak.''
-
lappy
őstag
válasz TillaT #50386 üzenetére
tedd fel az eszköztárba ott létrehozhatsz saját menüt így könnyű megtalálni
[ Szerkesztve ]
Bámulatos hol tart már a tudomány!
-
Fferi50
őstag
válasz TillaT #50404 üzenetére
Szia!
Sajnos az nem műxik így. A Ribbon szerkesztéssel tudod meghatározni, mi legyen a menüszalagon.
[itt találhatsz segítséget hozzá]
Üdv- -
Fferi50
őstag
válasz TillaT #50465 üzenetére
Szia!
Kicsit bonyolult a dolog, de megoldható:Sub mentesm()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
ActiveWorkbook.Sheets.Copy
ActiveWorkbook.SaveAs "Próba.xlsx", xlOpenXMLWorkbook
ActiveWorkbook.Close False
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Üdv. -
ny.janos
tag
válasz TillaT #50532 üzenetére
Ha a feltételes formázásban írod meg a képletet és kijelöléssel hivatkozol a cellára, akkor a DÁTUM függvény 3. paramétere abszolút hivatkozás ($A$5) lesz. Azt kézzel át kell írni vegyes hivatkozásra, hogy mindig az adott sort vizsgálja, de minden esetben az A oszlopot.
-
Delila_1
Topikgazda
válasz TillaT #50766 üzenetére
Gondolom, adatokat viszel fel a UserForm kitöltése után. Játszadoztam vele. A felvitel gomb Click eseménye figyeli, hogy a ComboBox adata megfelelő-e (a BackColor alapján).
Ha nem, a felvitel helyett visszaállítja rá a fókuszt.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Fferi50
őstag
válasz TillaT #50934 üzenetére
Szia!
Ez így képlettel, de még makróval sem megoldható. Képletet tartalmazó cellának az eredményét nem tudod színezni. Ha nem képlet van benne, de csak akkor a Characters(a,b).Font.Color utasítással láthatatlanná tudod tenni a szöveg egy részét is.
Ezért sem jó, ha egy cellában többféle információt szeretnénk bezsúfolni. Bele kell törődnöd, hogy mások is látják az információt, vagy két oszlopba kell az eredményt szétszedned.
Üdv.[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz TillaT #50934 üzenetére
Ha már úgyis van makród, ezt javaslom:
sor=2
Do While Cells(sor, 1) <> ""
If InStr(Cells(sor, 1), "X") > 0 Then
Cells(sor, 1).Characters(Start:=7, Length:=20).Font.ThemeColor = xlThemeColorDark1
End If
sor = sor + 1
Loop[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Mutt
aktív tag
válasz TillaT #50934 üzenetére
Szia,
Próbáld ki ezt az egyéni szamformátumot: 0;-0;"";"X"
Ettől még a szerkesztő lécen látszik a kijelölt cella eredeti tartalma. Ha nem akarod ott sem mutatni, akkor a cella védelemnél a rejtett opciót és a lapvédelmet kell használnod.Egy másik megoldás, hogy az összefűzésben az X-en kívüli (neked fontos) részeket a T nevű függvénybe teszed. Vhogy így: ="X"&T(ÜRES("saját szöveg"))
üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
TillaT
junior tag
válasz TillaT #50986 üzenetére
Az előző kérdésemtől függetlenül más rejtély is van előttem.
Mire való, mikor kell/érdemes használni a "Leállítás, ha igaz" jelölőnégyzeteket az egyes képleteknél? Hogyan működik a szabály, ha bejelölök egy négyzetet, és hogyan, amikor nem? Próbáltam tesztelgetni, de számomra nem világos a dolog.
Köszönöm, ha ezzel kapcsolatban is helyre tesztek.[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz TillaT #50986 üzenetére
Ez működik.
A második feltétel=INDIREKT(CÍM(1;OSZLOP()))>=$CA$1
Az első feltételnél jelöld be a leállítást.
Ha üres a $CA$1, végrehajtja a formázást (nincs háttér, stb.), és leáll.
Ha nem üres, akkor a második feltételt hajtja végre.[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz TillaT #51000 üzenetére
Egy megoldás:
Private Sub Worksheet_Change(ByVal Target As Range)
If Len(Target.Value) = 3 Then
Application.EnableEvents = False
Target = Target & ""
Range(Target.Address).Characters(2, 1).Font.ColorIndex = 3
Application.EnableEvents = True
End If
End Sub
Szám esetén az Excel azonnal dátummá alakítja a beírt értéket, ezért kell szöveggé alakítani.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
TillaT
junior tag
válasz TillaT #51003 üzenetére
A logikáját nem értem.
Számomra az lenne a logikus, hogy az 'A6' formátumának a többi cellába való bemásolása után a formázó képletek mindig az adott cellára vonatkoznának.
Tehát az 'A7' cella formátumának beállítása -képlet szerint is- az 'AT7', 'CQ7', 'CL7' cellák tartalmától tartalmától függ. És így tovább az 'A' oszlopbelim cellák formázása mindig az azonos sorban lévő 'AT', 'CQ', 'CL' oszlopokban lévő cellák tartalmától.
Tehát, ha a képletek a bemásolás után mindig az utolsó két kép szerint alakulnának.Azt nehéz felfognom, hogy a 2. kép szerinti bemásolás esetén minden cellában ugyanaz a képlet, és a hatást (formázást) az érvényesség kiterjesztésével éri el a program.
Az is segítség nekem, ha ajánlotok a témában valami releváns szakirodalmat.
Előre is köszönöm![ Szerkesztve ]
-
Fferi50
őstag
válasz TillaT #51004 üzenetére
Szia!
A feltételes formázás "viselkedése" külön tanulmányokat érdemelne, pl. amikor beszúrsz a formázott területre, akkor rögtön többszörözi a szabályokat, terület bontással.
A 2. képen látható szabály "logikája" a hivatkozásban keresendő:
$CQ7 - > a CQ rögzített oszlopból a 7. sorban levő cella. Mivel a formázás a 7-től 10-ig sorra vonatkozik, ezért minden sorban a CQ oszlop megfelelő - 7-től 10-ig - cellája lesz a kiindulási alap. A nem rögzített sor miatt a szabályban levő függvény "mozog" a formázott területtel együtt.
Ugyanezt tapasztalhatod a normál Excel munkalapon is - a képletek a sor/oszlop rögzítésnek megfelelően "mozognak". Szerintem érdemes a hivatkozások magyarázatát átnézni az Excelben.
Üdv.
Új hozzászólás Aktív témák
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Ozeki Kft.
Város: Debrecen