Ez a dokumentum egy előző változata!
Ez a feladat egy olyan makró létrehozását kérte, amely listázza az összes munkalap nevét egy adott munkafüzetben. Az alábbi makró bemutatja, hogyan lehet végrehajtani ezt a feladatot.
Sub MunkalapokListazasa() Dim ws As Worksheet Dim lista As String lista = "Munkalapok listája:" & vbCrLf For Each ws In ThisWorkbook.Worksheets lista = lista & ws.Name & vbCrLf Next ws MsgBox lista, vbInformation, "Munkalapok" End Sub
Sub MunkalapokListazasa()
egy eljárás, amely nem vár visszatérési értéket.Dim ws As Worksheet
- Egy változót deklarálunk, amely a munkafüzet minden egyes munkalapjára hivatkozik a ciklus során.Dim lista As String
- Egy szöveges változót hozunk létre, amelyben összegyűjtjük a munkalapok neveit.For Each
ciklus végigmegy a jelenlegi munkafüzet összes munkalapján.lista
változóhoz hozzáadjuk a munkalap nevét, majd egy új sort, hogy elkülönítsük a neveket.MsgBox
függvény segítségével megjelenítjük az összegyűjtött munkalapneveket egy üzenetablakban.A feladat egy olyan makró létrehozása, amely megtalálja és kiemeli a duplikált értékeket egy adott tartományban az Excel munkalapon.
Sajnos függvénnyel nem lehet olyan cella paramétereit módosítani, ami más mint a függvény meghívásának cellája. Ezért a használat előtt ki kell jelölni azt a tartományt amit vizsgálni szeretnénk.
Sub DuplikaltakKiemelése() Dim tartomány As Range Set tartomány = Selection Dim cell As Range Dim ellenőrző As Object Set ellenőrző = CreateObject("Scripting.Dictionary") ' A tartomány celláinak bejárása For Each cell In tartomány If Not cell.Value = "" Then If ellenőrző.Exists(cell.Value) Then ' Duplikált érték kiemelése piros háttérszínnel cell.Interior.Color = RGB(255, 0, 0) Else ellenőrző.Add cell.Value, Nothing End If End If Next cell End Sub
Set tartomány = Selection
utasítással.Scripting.Dictionary
objektumot hoz létre, amelyben csak különböző értékek tárolhatók.