Hirdetés
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- SpeedCsiga: Beépíthető konnektorok – A modern konyhák és irodák láthatatlan hősei
- sziku69: Szólánc.
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- Yézi: Blekk Frájdéj
- Essejó: MultiCooker avagy az elektromos kukta. Ötletek, tippek, tanácsok, receptek.
- potyautas: Kiküldetésben a szép Juhásznénál
-
LOGOUT
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
Hauptmann
#19903
üzenetére
Próbáld így:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Cells(1).Select: Selection.CurrentRegion.Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End If
End SubA helyedben nem az első oszlopba történő beíráshoz rendelném a rendezést, hanem az utolsóhoz, ami az esetedben a hatodik (F). Még azt is beletenném, hogy a következő sor elejére ugorjon a fókusz.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 6 Then
'Rendezés
Cells(1).Select: Selection.CurrentRegion.Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
'Első üres sor A oszlopába állás
Range("A" & WorksheetFunction.CountA(Columns(1)) + 1).Select
End If
End Sub -
Delila_1
veterán
válasz
tPedro_
#19901
üzenetére
A pivot-ok alapját képező táblázatot alakítsd táblázattá (nem én találtam ki ezt a remek elnevezést, hanem az Excel fordítói). A táblázatban állva Ctrl+r-rel azonnal létrehozhatod.
Ezután egyik pivot-ot sem kell kijelölnöd a frissítéshez, csak az ikonjára, a felkiáltójelre kell kattintanod, automatikusan követi a kitöltött rekordok számát.
-
Delila_1
veterán
válasz
Dark Archon
#19865
üzenetére
-
Delila_1
veterán
válasz
the radish
#19861
üzenetére
Szívesen.

-
Delila_1
veterán
válasz
the radish
#19859
üzenetére
Egy cellában kikerestetjük, a C oszlopban hányadik sorban van az utolsó érték. Keresési értékként egy olyan nagy számot adunk meg, ami biztosan nem szerepel a C oszlopban. A cella legyen a példában az E1.
=HOL.VAN(999999;C:C;1)Az összegző képlet
=SZUM(INDIREKT("B1:B"&$E$1))A második képletben a $E$1 helyére beillesztjük annak a képletét, és akkor nincs szükség az eredeti kereső függvényre a külön cellában.
=SZUM(INDIREKT("B1:B"&HOL.VAN(999999;C:C;1))) -
Delila_1
veterán
válasz
gyáliSanyi
#19851
üzenetére
Szívesen.

-
Delila_1
veterán
válasz
gyáliSanyi
#19848
üzenetére
Más felfogás szerint

-
Delila_1
veterán
válasz
gyáliSanyi
#19848
üzenetére
-
Delila_1
veterán
Az, hogy én nem találtam képlettel való megoldást, segédoszlop nélkül, nem jelenti, hogy nem lehetséges.

Az Excel magyarba átültetésnél valamilyen okból a képletek paramétereit elválasztó vesszőket is átírták pontosvesszőkre.
Azt nem írtam, de biztosan rájöttél, hogy a makró az eredményt a G1 cellába írja. Összejött?
-
Delila_1
veterán
Makróról nem volt szó.
Sub mm()
Dim ter As Range, CV As Object, honap1 As Integer, honap2 As Integer
Dim usor As Long, szam As Double, osszed As Double, osszeg As Double
usor = Range("A" & Rows.Count).End(xlUp).Row
Set ter = Range("A2:A" & usor)
honap1 = Range("D1"): honap2 = Range("E1"): szam = Range("D2")
For Each CV In ter
If (Month(CV) = honap1 Or Month(CV) = honap2) And Range(CV.Address).Offset(, 1) = szam Then _
osszeg = osszeg + 1
Next
Range("G1") = osszeg
End SubHónap1 és hónap2 a D1 és E1 cellában, dátumok az A oszlopban, számok a B-ben, keresendő szám a D2-ben.
-
Delila_1
veterán
Elkészíted a kimutatást az első kép szerint. A Dátum mezőre (E1) kattintva az Adatok | Tagolás | Csoportba foglalás menüpontban beállítod a Hónapok szerinti csoportosítást.
A Dátum mező legördülőjében kijelölöd a 2 hónapot (alsó kép).
A kiválasztott hónapoknak megfelelően csökken, vagy bővül az időszakban előforduló számok listája, és mennyisége.
-
-
Delila_1
veterán
Míg írtam, Mutt megadta a lényeget, hogy a B oszloptól számított -6 oszlop értelmetlen.
Gondolom, arra az értékre vagy kíváncsi, ami a B2:B64 tartományban a legkisebb szám, és ebben a sorban a tőle jobbra eső 6. oszlopban van.
Ezt a
=ELTOLÁS(INDEX(B:B;HOL.VAN(KICSI(B2:B64;1);B:B;0);1);0;6)
képlettel kaphatod meg. -
Delila_1
veterán
-
Delila_1
veterán
-
-
Delila_1
veterán
válasz
pero19910606
#19748
üzenetére
Szívesen.

-
Delila_1
veterán
A Set WS1 = Sheets("Munka1") sorban a Munka1 helyett írd be annak a lapodnak a nevét, ahol a darabszámok szerepelnek, a Munka2 helyére azt, ahova a többszörözést akarod beíratni.
Sub Tobbszoroz()
Dim sor As Long, usor As Long, ujsor As Long, eddig As Integer, a As Integer
Dim WS1 As Worksheet, WS2 As Worksheet
Set WS1 = Sheets("Munka1")
Set WS2 = Sheets("Munka2")
Application.ScreenUpdating = False
WS2.Range("A:B").ClearContents 'Előző adatok törlése a Munka2 lapon
WS1.Activate
Range("A1:B1").Copy WS2.Range("A1") 'Címsor a Munka2 lapra
usor = Range("A" & Rows.Count).End(xlUp).Row
ujsor = 2
For sor = 2 To usor
eddig = Cells(sor, "C")
For a = 1 To eddig
Range("A" & sor & ":B" & sor).Copy WS2.Range("A" & ujsor)
ujsor = ujsor + 1
Next
Next
Application.ScreenUpdating = True
End Sub -
Delila_1
veterán
válasz
pero19910606
#19715
üzenetére
-
Delila_1
veterán
válasz
T.Lacci
#19707
üzenetére
Sub Szorzas()
Dim sor As Long, usor As Long, szorzo As Single
'Alsó sor meghatározása a D oszlopban)
usor = Range("D" & Rows.Count).End(xlUp).Row
'Ciklus az elsőtől az utolsó sorig
For sor = 1 To usor
'Feltételek megdása
Select Case Cells(sor, "D")
Case 1 To 10000
szorzo = 1.4
Case 10001 To 20000
szorzo = 1.3
Case 20001 To 30000
szorzo = 1.2
Case Else
szorzo = 0.9
End Select
'Szorzat beírása az E oszlopba
Cells(sor, "E") = Cells(sor, "D") * szorzo
'Ha kerekítve akarod megadni a szorzatot, a fenti helyett
'a lenti sort alkalmazd a szorzásra
'Cells(sor, "E") = Round(Cells(sor, "D") * szorzo, 0)
Next
End SubA Case sorokat folytathatod. A Case Else sorhoz azt az utasítást add, ami azokra az összegekre vonatkozik, amikhez a fölötte lévő feltételekben nem határoztál meg szorzót. Ki is hagyható.
Figyelj, hogy a szorzók tizedes ponttal, nem veszővel írandók a makróban! -
Delila_1
veterán
válasz
Apollo17hu
#19703
üzenetére
Szívesen.

-
Delila_1
veterán
válasz
Apollo17hu
#19700
üzenetére
Beírod az első értéket egy új oszlopba, hogy egy előző formátum ne zavarjon be:
2013.11.15 20:00. Az oszlopban a cellák formátuma legyen "éééé.hh.nn. óó:pp".
Egy cellába (másik oszlopban) beírod a 0:05 értéket. Legyen ez a példában a C1 cella. Ez automatikusan idő formátumot vesz fel.
Az dátum alatti első cella képlete =fölötte_lévő_cella+$C$1. Ezt már másolhatod, nem lesz csúszás. -
-
Delila_1
veterán
válasz
atillaahun
#19637
üzenetére
A másik gomb makrójában az első gomb visible tulajdonsága legyen true.
-
Delila_1
veterán
válasz
atillaahun
#19630
üzenetére
A sort elrejtő makró végén
Me.Gomb.Visible=False -
Delila_1
veterán
válasz
apeelme
#19609
üzenetére
Nem tudom, mi a feladat, miket akarsz másolni, de van megoldás.
A gomb használata a dátum beírásához szükségtelen, mivel a naptár Click eseménye beírja azt a megfelelő helyre. Ehelyett bevihetjük a másolást, ha az rendre a másolat helyétől azonos távolságra történik, de egy Select Case utasításban módosíthatjuk is. A lenti makró a kijelölt területet 1 sorral lentebb, és 3 oszloppal jobbra másolja.Private Sub CommandButton1_Click()
Selection.Copy Cells(Selection.Row + 1, Selection.Column + 3)
End SubA gombnak mindig láthatónak kell lennie a másolás végrehajtásához, ezért a Worksheet_SelectionChange makró is változik.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Select Case Target.Column
Case 2, 3
Me.Calendar1.Left = ActiveCell.Left + ActiveCell.Width + 2
Me.Calendar1.Top = ActiveCell.Top + ActiveCell.Height
Me.Calendar1.Visible = True
Me.CommandButton1.Top = Me.Calendar1.Top + Me.Calendar1.Height
Me.CommandButton1.Left = Me.Calendar1.Left
Case Else
Me.CommandButton1.Top = ActiveCell.Top + ActiveCell.Height
Me.CommandButton1.Left = ActiveCell.Left + ActiveCell.Width + 2
Me.Calendar1.Visible = False
End Select
End SubÍrd le pontosan, milyen esetekben mit és hova akarsz másolni, akkor könnyebb segíteni.
-
Delila_1
veterán
válasz
dugandorges
#19604
üzenetére
Sub Szamforma()
Selection.NumberFormat = "#,##0"
End Sub -
Delila_1
veterán
válasz
apeelme
#19605
üzenetére
Ezen sajnos nem tudok változtatni, de ha már rákérdeztél, a lentebbi makrót leegyszerűsítheted. A 2. és 3. oszlophoz együttesen is meg lehet adni a naptár helyzetét.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Select Case Target.Column
Case 2, 3
Me.Calendar1.Left = ActiveCell.Left + ActiveCell.Width + 2
Me.Calendar1.Top = ActiveCell.Top + ActiveCell.Height
Me.Calendar1.Visible = True
Me.CommandButton1.Left = Me.Calendar1.Left
Me.CommandButton1.Top = Me.Calendar1.Top + Me.Calendar1.Height
Me.CommandButton1.Visible = True
Case Else
Me.Calendar1.Visible = False
Me.CommandButton1.Visible = False
End Select
End Sub -
Delila_1
veterán
válasz
T.Lacci
#19601
üzenetére
ter.Replace What:="Gipszkarton", Replacement:="25-0-0-0", lookat:=xlWhole
ter.Replace What:="Gipszkarton tartozékok", Replacement:="120-0-0-0", lookat:=xlWholeHa a végéről lemarad a , lookat:=xlWhole, akkor csinálja azt, amit írtál, mert alapból az xlpart opciót hajtja végre.
Az xlpart rész szöveget cserél, xlwhole teljes cellát. -
Delila_1
veterán
válasz
atillaahun
#19583
üzenetére
Kiteszed a gombot, amit az Excel elnevez CommandButton1-nek. Ezen duplán klikkelve a VB szerkesztőben beírja a hozzá tartozó makró első-, és utolsó sorát. Már csak e kettő közé kell írni a feladatot. Együtt a sorok
Private Sub CommandButton1_Click()
If Rows("5:10").Hidden = True Then
Rows("5:10").Hidden = False
Else
Rows("5:10").Hidden = True
End If
End SubEz a makró az 5-től 10-ig sorokat rejti, ill. fedi fel.
-
Delila_1
veterán
Próbáld meg a következőt.
Nyitsz egy új füzetet. Az A1 cellába beírod a megbuggyant fájlod útvonalára, első lapjának A1 cellájára történő hivatkozást. Ilyesmi lesz: ='C:\Mappa\Almappa\[Elveszett.xls]Munka1'!A1
Ügyelj, hogy ne fix hivatkozás legyen, csak sima A1. Ezt a képletet másolod jobbra, és le, ameddig szükséges. A többi lapot is ezzel a módszerrel képletezd be.Nekem már sikerült így létrehoznom egy új füzetet. Utána a képletek helyére értékként beillesztettem az adatokat. Ezután következett, hogy a régi képleteket visszaállítsam az új fájlban.
-
Delila_1
veterán
válasz
atillaahun
#19580
üzenetére
Nincs mit.

-
Delila_1
veterán
válasz
atillaahun
#19575
üzenetére
A beállításoknál kapcsolhatod ki. Régebbi verziókban Cellarácsok, 2007-től Rácsvonalak megjelenítése.
-
Delila_1
veterán
válasz
baderoli
#19571
üzenetére
Az egyes lapokon az oszlopok és sorok azonos sorrendben legyenek. Tehát ha új ember jött, akkor a belépésétől kezdve új sorba kerüljön a neve. Ha viszont év közben elmegy valaki, ne töröld ki onnantól a nevét, vagy legalább hagyd üresen a sorát, ne kerüljenek feljebb az alatta lévő sorok, másképp hamis eredményt kapsz.
Az ábrán 4 lap látszik, amik közül az Összesítő B2 cellájának a képlete látszik a szerkesztőlécen. Ezt a képletet átalakítod a saját lapjaidnak a nevéhez igazítva (első lap neve : utolsó lap neve), és másolhatod jobbra, ill. le.
-
Delila_1
veterán
válasz
apeelme
#19570
üzenetére
Jobb klikkel rákattintva megnézed, a kettő közül melyik a Calendar1. Azt meghagyod, a másikat törlöd.
A makrók:
Private Sub Calendar1_Click()
If Selection.Column = 2 Then Cells(Selection.Row, 2) = Me.Calendar1.Value
If Selection.Column = 3 Then Cells(Selection.Row, 3) = Me.Calendar1.Value
End Sub
Private Sub CommandButton1_Click()
Me.Calendar1.Today
Cells(Selection.Row, 2) = Me.Calendar1.Value
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Select Case Target.Column
Case 2
Me.Calendar1.Left = ActiveCell.Left + ActiveCell.Width + 2
Me.Calendar1.Top = ActiveCell.Top + ActiveCell.Height
Me.Calendar1.Visible = True
Me.CommandButton1.Left = Me.Calendar1.Left
Me.CommandButton1.Top = Me.Calendar1.Top + Me.Calendar1.Height
Me.CommandButton1.Visible = True
Case 3
Me.Calendar1.Left = ActiveCell.Left + ActiveCell.Width + 2
Me.Calendar1.Top = ActiveCell.Top + ActiveCell.Height
Me.Calendar1.Visible = True
Me.CommandButton1.Left = Me.Calendar1.Left
Me.CommandButton1.Top = Me.Calendar1.Top + Me.Calendar1.Height
Me.CommandButton1.Visible = True
Case Else
Me.Calendar1.Visible = False
Me.CommandButton1.Visible = False
End Select
End Sub
Új hozzászólás Aktív témák
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- BLACK FRIDAY! - Jogtiszta Windows - Office & Vírusirtó licencek- Azonnal - Számlával - Garanciával
- PC Game Pass előfizetés
- ::::: HATALMAS LEÁRAZÁSOK! I JOGTISZTA MICROSOFT TERMÉKEK I 27%-OS ÁFÁS SZÁMLA I 10 ÉV GARANCIA ::::
- Antivírus szoftverek, VPN
- Xiaomi Redmi 14C / 4/128GB / Kártyafüggetlen / 12Hó Garancia
- Oneplus Nord 2 5G 128GB,Újszerű,Dobozával,12 hónap garanciával
- HP ZBook Studio x360 Gen5 Intel Xeon E-2176M - Garancia
- GYÖNYÖRŰ iPhone 15 Pro Max 256GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3943, 100% Akkumulátor
- magyar billentyűzet - 172 - Lenovo Legion Pro 7 (16IAX10H) - Intel Core U9 275HX, RTX 5080
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: ATW Internet Kft.
Város: Budapest









Fferi50
