Hirdetés
- AMD Navi Radeon™ RX 9xxx sorozat
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- OLED monitor topic
- Amlogic S905, S912 processzoros készülékek
- Kettő együtt: Radeon RX 9070 és 9070 XT tesztje
- Valami baja van a tápomnak
- Milyen videókártyát?
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- Bluetooth hangszórók
- Akciókamerák
-
PROHARDVER!
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
- PayPal
- One otthoni szolgáltatások (TV, internet, telefon)
- AMD Navi Radeon™ RX 9xxx sorozat
- Parkside szerszám kibeszélő
- Gumi és felni topik
- Debrecen és környéke adok-veszek-beszélgetek
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- PlayStation 5
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Kerékpárosok, bringások ide!
- További aktív témák...
- Gamer PC-Számítógép! Csere-Beszámítás! I3 14100F / RTX 3060Ti / 16GB DDR5 / 1TB SSD
- iPhone 15 Pro Max 256GB Black Titanium -1 ÉV GARANCIA - Kártyafüggetlen, 100 % Akksi, MS4047
- HIBÁTLAN iPhone 13 Pro 128GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS3747, 100% Akkumulátor
- Telefon felvásárlás!! Samsung Galaxy A22/Samsung Galaxy A23/Samsung Galaxy A25/Samsung Galaxy A05s
- Samsung Galaxy Note 20 256GB,Újszerű,Adatkabel,12 hónap garanciával
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest



Fferi50

