- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Honor Magic V5 - méret a kamera mögött
- 165 Hz-es panelt tesztel a OnePlus
- Samsung Galaxy A54 - türelemjáték
- Jimmy Choo felel a Magic V Flip 2 dizájnjáért
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Fenntartható, tartós kiegészítőket mutatott be a Fairphone
- Xiaomi 14T Pro - teljes a család?
- Zeiss triplakamera az új Vivo V60-ban
Hirdetés
-
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
-
válasz
coldfirexx #30167 üzenetére
Kivételesen most magamnak válaszolom meg, de hátha másnak is jól jön:
Sub Mentes_maskent()
fileSaveName = Application.GetSaveAsFilename( _
fileFilter:="Excel Files (*.xlsm), *.xlsm")If fileSaveName <> False Then
ActiveWorkbook.SaveAs Filename:=fileSaveName, FileFormat:=xlOpenXMLWorkbookMacroEnabled
End IfEnd Sub
-
m.zmrzlina
senior tag
válasz
coldfirexx #29740 üzenetére
Bocs, de te olvsod is ezt a fórumot, vagy csak írod?
Erre a kérdésedre itt már egyszer megkaptad ugyanezt a választ.
-
bsh
addikt
válasz
coldfirexx #29736 üzenetére
a modul neve ugyanaz (valasz) mint a változóé.
-
bteebi
veterán
válasz
coldfirexx #29736 üzenetére
Érdekes. Szemre jónak tűnt, ki is próbáltam, és nekem működött. Mondjuk neked is volt, ahol jó volt...
-
m.zmrzlina
senior tag
válasz
coldfirexx #29700 üzenetére
Szerintem a modulodnak amiben a kódod van az a neve, hogy "valasz". A kódban pedig van egy változó ugyanilyen néven.
Valamelyiket nevezd át!
-
Delila_1
veterán
válasz
coldfirexx #29267 üzenetére
Az első lap H oszlopában lévő tengerikígyó képlet értéke mikor legyen IGEN, és mikor NEM?
-
Delila_1
veterán
válasz
coldfirexx #29265 üzenetére
Tedd ki a füzetet egy elérhető helyre, ahonnan letölthető.
Lehetnek benne hamis adatok az igaziak helyett. Elég pár sor (lásd a Téma összefoglalót). -
Delila_1
veterán
válasz
coldfirexx #29262 üzenetére
Átírtad a lapok nevét a makróban szereplő egyes és kettes névről a sajátodra?
If CV = "IGEN" Then Cells(CV.Row, "F").Copy Sheets("kettes").Cells(ide, "A")
A fenti sor kiemelt része végzi a beillesztést.
-
Delila_1
veterán
válasz
coldfirexx #29251 üzenetére
Itt a makró:
Sub Nevek()
Dim usor As Long, ter As Range, ide As Long, CV As Range
usor = Range("H" & Rows.Count).End(xlUp).Row
Set ter = Sheets("egyes").Range("H3:H" & usor).CurrentRegion
For Each CV In ter
ide = Sheets("kettes").Range("A" & Rows.Count).End(xlUp).Row + 1
If CV = "IGEN" Then Cells(CV.Row, "F").Copy Sheets("kettes").Cells(ide, "A")
Next
End SubModulba kell tenned, ahogy a Téma összefoglalóban le van írva.
Szerk.: a válasz elküldése után jutottam az olvasásban oda, hogy kaptál egyszerű, nem makrós megoldást.
-
m.zmrzlina
senior tag
válasz
coldfirexx #29251 üzenetére
Én közismerten hajlamos vagyok verébre is makróval lőni de szerintem itt ne ragaszkodj a makrós megoldáshoz. Egyszerűen szűrd le a tartományt a H oszlop IGEN értékeire azután az F oszlop értékeit másold a kívánt helyre. Szerintem ettől egyszerűbb megoldást nem találsz.
-
Delila_1
veterán
válasz
coldfirexx #28629 üzenetére
A lenti makró a lapon lévő diagramok címéből eltünteti a "0%" szövegrészt.
Sub NullaNyet()
Dim CV As Integer, szoveg As String
For CV = 1 To ActiveSheet.ChartObjects.Count
ActiveSheet.ChartObjects(CV).Activate
szoveg = ActiveChart.ChartTitle.Characters.Text
szoveg = Application.WorksheetFunction.Substitute(szoveg, "0%", "")
ActiveChart.ChartTitle.Characters.Text = szoveg
Next
End Sub -
Fferi50
Topikgazda
válasz
coldfirexx #28251 üzenetére
Szia!
Miért nem használod ki az Excel beépített lehetőségeit?
Sub Szerződések_törlése()
With Sheets("Alapadatok")
.UsedRange.Autofilter Field:=31, Criteria1:="A szerződés előző évben lejárt"
.UsedRange.Offset(1,0).Specialcells(xlCelltypeVisible).EntireRow.Delete
.AutofilterMode=False
End With
Sheets("Vezérlő").Select
Range("B6").Select
End SubÜdv.
-
Delila_1
veterán
válasz
coldfirexx #28255 üzenetére
Rögzíts egy makrót. Ebben annyi legyen, hogy autoszűrővel szűröd az AE oszlopot a szövegedre. Beállsz az első látható sor A cellájára, Ctrl+le nyíllal kijelölöd a látható tartományt, és törlöd a sorokat, majd az AE oszlopban megszünteted a szűrést.
Ez akkor jó, ha az A oszlopban is folyamatosan annyi adat van, mint az AE-ben.
A 2. kérdésedre, a formátum másolására:
Rows("2:2").Copy
Rows("3:3").Select
Range(Selection, Selection.End(xlDown)).PasteSpecial xlPasteFormats
Application.CutCopyMode = False -
Mittu88
senior tag
válasz
coldfirexx #28251 üzenetére
Azt próbáld még ki, hogy a Dim j as integer sor alá beírod: application.screenupdating = false
Amúgy nem lehetne lassabb, nem értem a dolgot.Azt írd majd meg légyszi, hogy gyorsult-e ettől a parancstól. Köszi!
-
Mittu88
senior tag
válasz
coldfirexx #28249 üzenetére
Sub adattorles()
Dim i as integer
Dim j as integerWorksheets("Alapadatok").Activate
j = 0
i = 0
Do
i = i + 1
If Cells(i, 31).value = "A szerződés előző évben lejárt" then 'A 31 az AE oszlop száma
Cells(i, 31).entirerow.delete
i = i-1
j = j + 1
End if
Loop until Cells(i, 1).value = "" 'Addig megy az első oszlopon végig, amíg nem talál üres cellátMsgbox "A művelet sikeresen lefutott, " & j & " sor került eltávolításra", vbokonly
End sub
-
Mittu88
senior tag
válasz
coldfirexx #28244 üzenetére
Ha van egy olyan sorod, amiben végig vannak adatok, akkor a következőt csináld a For ciklus helyett:
i = 0
Do
i = i + 1
If Cells(i, 31).value = "A szerződés előző évben lejárt" then 'A 31 az AE oszlop száma
Cells(i, 31).entirerow.delete
i = i-1
End if
Loop until Cells(i, végigtöltöttsor sorszáma).value = "" 'Addig megy, amíg nem talál üres cellátAmúgy a CountIf függvény lassítja nagyon, nincs rá szükség. Simán a cella értékét (value) vizsgáld.
-
Delila_1
veterán
válasz
coldfirexx #28234 üzenetére
Pl. így:
Sub Kepletek()
Dim usor1 As Long, usor2 As Long
usor1 = Range("A" & Rows.Count).End(xlUp).Row
usor2 = Range("Z" & Rows.Count).End(xlUp).Row
Range("Z" & usor2 & ":AM" & usor2).Copy
Range("Z" & usor2 + 1 & ":Z" & usor1).PasteSpecial xlPasteFormulas
Application.CutCopyMode = False
End Sub -
nyirisandor
újonc
válasz
coldfirexx #28234 üzenetére
Köszönöm szépen a segítséget.
Működik :-) és most meg is tanulom. -
Delila_1
veterán
válasz
coldfirexx #28234 üzenetére
Nem kell ehhez makró, 1 (dupla) kattintással megvan.
Kijelölöd az eddigi utolsó képleteket (Z3:AM3 tartomány). A kijelölés jobb alsó sarkában van egy kis fekete négyzet, azon egy duplaklikk lemásolja a képleteket addig, amíg a mellette lévő Z oszlopban valamilyen értéket talál.
-
Delila_1
veterán
válasz
coldfirexx #28227 üzenetére
Szívesen.
-
Delila_1
veterán
válasz
coldfirexx #28225 üzenetére
Az utolsó makrót másold be, azzal ott lesz szegély, ahol kell.
-
Delila_1
veterán
válasz
coldfirexx #28223 üzenetére
Sub Elrejt()
Dim szam As Long, CV As Range
For Each CV In Range("A39:A83")
If CV = "Elrejtve" Then
Rows(CV.Row).EntireRow.Hidden = True
Else
Rows(CV.Row).EntireRow.Hidden = False
szam = CV.Row
End If
Next
Range("B" & szam & ":N" & szam).Borders(xlEdgeTop).Weight = xlMedium
End SubAkkor az utolsó, nem rejtett sornak adunk felső szegélyt.
-
Delila_1
veterán
válasz
coldfirexx #28221 üzenetére
Sub Elrejt()
Dim szam As Long, CV As Range
For Each CV In Range("A39:A83")
If CV = "Elrejtve" Then
Rows(CV.Row).EntireRow.Hidden = True
Else
Rows(CV.Row).EntireRow.Hidden = False
End If
szam = CV.Row
Next
Range("B" & szam & ":N" & szam).Borders(xlEdgeBottom).Weight = xlMedium
End SubNem világos, hogy az alsó, látható adat, vagy az utolsó elrejtett sor aljára akarsz-e vastag vonalat?
Ha az utóbbi, akkor a szam = CV.Row sort az Else fölé tedd át. Ebben az esetben viszont nem látszik, mert ez a sor rejtett. -
Delila_1
veterán
válasz
coldfirexx #28219 üzenetére
Szívesen.
Set terulet=Range("A39:A83")
-
Delila_1
veterán
válasz
coldfirexx #28217 üzenetére
Sub Elrejt()
Dim terulet As Range, CV As Range
Set terulet = Range(Range("A2"), Range("A" & Rows.Count).End(xlUp))
For Each CV In terulet
If CV = "Elrejtve" Then
Rows(CV.Row).EntireRow.Hidden = True
Else
Rows(CV.Row).EntireRow.Hidden = False
End If
Next
End SubTalán ez jó lesz.
-
lappy
őstag
válasz
coldfirexx #27381 üzenetére
A 2007-es excelben a következőképpen oldható meg:
Kezdőlap- Stílusok-Feltételes formázás-Új szabály
itt kiválasztod a formázandó cella kijelölése képlettel, majd a képletet beírod és alul van hogy formátum, itt lehet megadni hogy a cellát vagy a szegély milyen színűre tegye ha igaz. De csak vékony vonal van vastag nincs!
Új hozzászólás Aktív témák
Hirdetés
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem, Most kedvező áron!
- Eladó Steam kulcsok kedvező áron!
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- BESZÁMÍTÁS! ASUS C246M i5 9400F 16GB DDR4 250GB SSD 1TB HDD GTX 1660 Super 6GB Zalman N4 Zalman 600W
- iKing.Hu - Honor Magic 5 Pro 5G - Használt, újszerű állapotban, ajándék tokkal!
- Clevo 1060 6GB Mxm 3.1 laptop videó kártya ingyen házhoz szálitással
- HIBÁTLAN iPhone 13 Pro 128GB Alphine Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3024, 91% Akkumulátor
- Azonnali készpénzes GAMER / üzleti notebook felvásárlás személyesen / csomagküldéssel korrekt áron
Állásajánlatok
Cég: FOTC
Város: Budapest