-
Fototrend
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
Topikgazda
Sub Osszefuz()
Dim sor As Long, usor As Long
usor = Range("W" & Rows.Count).End(xlUp).Row
For sor = 2 To usor
If Cells(sor, "X") = "Hazai" Then _
Cells(sor, "Y") = Cells(sor, "X") & "-" & Round(Cells(sor, "W"), 0)
Next
End SubProgramozó: 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 kordasb #17738 üzenetére
Vegyél fel egy segédtáblázatot, pl. a C:D oszlopba a kép szerint.
A1-be írod a számot, B1 adja az eredményt. A cella képlete látható a szerkesztőlécen.[ 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 pirit28 #17744 üzenetére
Bár nem vagyok "úr", azért megpróbálok válaszolni.
Hozd létre a Sheet1 lapon a fényképezőgéppel az objektumot. Ezt másold a Sheet2-re (Ctrl+c, Ctrl+v), és nevezd el Foto2-nek. Kijelölve az új objektumot, a szerkesztőlécen az =$B$1 helyett ezt írd be: =Sheet1!$B$1
A Sheet2 laphoz rendeld a makrót:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
If Target = Sheets("Sheet1").Range("A1") Then
F_mutat
Else
F_rejt
End If
End If
End SubÚj modulba másold a lenti 2 makrót:
Sub F_mutat()
Sheets("Sheet2").Shapes("Foto2").Visible = True
End SubSub F_rejt()
Sheets("Sheet2").Shapes("Foto2").Visible = False
End SubHa a Sheet2 lap A1 cellájába beírt név megegyezik a Sheet1 lap A1 cellájának értékével, a Sheet2 lapon látható lesz a fotó, egyébként nem.
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
Legyen nyitva a makró(ka)t tartalmazó füzeted.
A "Gyorselérési eszköztár" jobb oldalán van egy lefelé mutató nyíl. Erre kattintva a megjelenő menüből hívd elő a "További parancsok" nevűt. A "Választható parancsok helye" legördülőben kiválasztod a "Makrók" nevűt, a többi már látszik.
Mikor átteszel egy makrót a jobb oldali listába, érvényes lesz a "Módosítás" gomb, amivel az alkotók ízlése szerinti gombképet rendelhetsz az ikonodhoz.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 dellfanboy #17760 üzenetére
Az Adatok | Rendezés és szűrés | Speciális menüpont segítségével a kép szerint tedd ki az egyedi értékeket egy új oszlopba, ami nálam az E. Régebbi verzióban a menüt az Adatok | Szűrő | Irányított szűrő cím alatt találod meg.
Az F2 cella képlete
=MAX(INDIREKT("B"&HOL.VAN(E2;A:A;0)&":B" & HOL.VAN(E2;A:A;1)))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 csferke #17759 üzenetére
A C3 képlete =NAP(B2)-NAP(B1)
B4
=HA(ÉS(C3=0;ÓRA(B2)<8);0;HA(ÉS(C3=0;ÓRA(B2)>8;ÓRA(B3)<=12);0,5;HA(ÉS(C3=0;ÓRA(B2)>12);1;HA(ÉS(C3>0;ÓRA(B2)<8);C3;HA(ÉS(C3>0;ÓRA(B3)>8;ÓRA(B3)<=12);C3+0,5;C3+1)))))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 dellfanboy #17767 üzenetére
A szűrés behívása előtt jelöld ki a tartományt, ahogy a képen látod. Panaszkodni fog, hogy nem tudja megkülönböztetni az adatokat a címtől, mert mindegyik szöveges. Ne törődj vele, menj tovább, vagy írd be előre az E1-be az A1 értékét.
[ 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 Delila_1 #17766 üzenetére
Elnézést, hellyel-közzel B2 helyett B3-at írtam a képletben.
Kijavítva:
=HA(ÉS(C3=0;ÓRA(B2)<8);0;HA(ÉS(C3=0;ÓRA(B2)>8;ÓRA(B2)<=12);0,5;HA(ÉS(C3=0;ÓRA(B2)>12);1;HA(ÉS(C3>0;ÓRA(B2)<8);C3;HA(ÉS(C3>0;ÓRA(B2)>8;ÓRA(B2)<=12);C3+0,5;C3+1)))))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 csferke #17758 üzenetére
Nem voltak jók az előző képletek. Az időknél a perceket, és másodperceket is figyelembe kell venni, még akkor is, ha nem látszanak.
Irgalmatlan hosszú képlet kell hozzá, pedig a napok különbségét külön, a C3 cellában számoltatom ki a =NAP(B2)-NAP(B1) képlettel.
B4:
=HA(ÉS(C3=0;IDŐ(ÓRA(B2);PERC(B2);MPERC(B2))<=IDŐ(8;0;0));0;HA(ÉS(C3=0;IDŐ(ÓRA(B2);PERC(B2);MPERC(B2))>IDŐ(8;0;0);IDŐ(ÓRA(B2);PERC(B2);MPERC(B2))<=IDŐ(12;0;0));0,5;HA(ÉS(C3=0;IDŐ(ÓRA(B2);PERC(B2);MPERC(B2))>IDŐ(12;0;0));1;HA(ÉS(C3>0;IDŐ(ÓRA(B2);PERC(B2);MPERC(B2))<=IDŐ(8;0;0));C3;HA(ÉS(C3>0;IDŐ(ÓRA(B2);PERC(B2);MPERC(B2))>IDŐ(8;0;0);IDŐ(ÓRA(B2);PERC(B2);MPERC(B2))<=IDŐ(12;0;0));C3+0,5;C3+1)))))Remélem, ez már jól működik.
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
Azt jelenti, hogy ha az L265 cella üres, akkor a képletet tartalmazó cella is legyen (látszólag) üres, egyébként pedig a L265 értékének 60-ad része legyen az eredmény.
Azért "látszólag", mert a képlet ott van benne továbbra is.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 Agostino #17805 üzenetére
Készíts egy másolatot a lapról.
A másolaton vegyél fel egy új oszlopot, ahol a darabteli függvénnyel kiíratod, hány db van az egyes adatokból az oszlopban. Szűrd az új oszlopot az 1-nél nagyobb értékekre, és ezeket a sorokat töröld ki.
Töröld a régi lapot.
Örülj.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 Agostino #17807 üzenetére
A DARABTELI függvény ad majd számokat.
Ha az adataid az A oszlopban vannak, akkor az új oszlop 2. sora (címsort feltételezve) legyen =DARABTELI(A$2:A2;A2). Figyelj a $ jelre!
Ezt a függvényt lemásolod a többi sorba. Minden sorba azt írja be, hányadik alkalommal fordul elő az adat az oszlopban.
Ahol 1 az érték, az a sor marad, a többit törölheted.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
-
Delila_1
Topikgazda
válasz alfa20 #17811 üzenetére
Itt legalább látszik a makróban a tagolás.
A ciklust a 2. sortól indítottam, feltételezve, hogy van címsorod.Sub Valami()
Dim sor%, usor%, szoveg$, f As Boolean
usor% = Range("A" & Rows.Count).End(xlUp).Row
For sor% = 2 To usor%
If InStr(Cells(sor%, 1), "alma") And _
InStr(Cells(sor%, 1), "körte") Then
szoveg$ = "Van almád és körtéd"
f = True: GoTo Kiiras
End If
If InStr(Cells(sor%, 1), "alma") Then
szoveg$ = "Van almád"
f = True: GoTo Kiiras
End If
If InStr(Cells(sor%, 1), "körte") Then
szoveg$ = "Van körtéd"
f = True: GoTo Kiiras
End If
Kiiras:
If f Then
MsgBox szoveg$
Else
MsgBox "Semmid sincs"
End If
szoveg$ = "": f = False
Next
End SubProgramozó: 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 alfa20 #17815 üzenetére
Talán így megfelel.
Sub Valami()
Dim sor%, usor%, szoveg$
Dim alma%, korte%
usor% = Range("A" & Rows.Count).End(xlUp).Row
For sor% = 2 To usor%
If InStr(Cells(sor%, 1), "alma") Then alma% = alma% + 1
If InStr(Cells(sor%, 1), "körte") Then korte% = korte% + 1
Next
If alma% > 0 And korte% > 0 Then szoveg$ = "Van " & alma% & " db almád és " _
& korte% & " db körtéd."
If alma% > 0 And korte% = 0 Then szoveg$ = "Van " & korte% & " db körtéd."
If alma% = 0 And korte% = 0 Then szoveg$ = "Nincs semmid."
MsgBox szoveg$
End Sub[ 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 alfa20 #17828 üzenetére
Az én makrómban 1× szerepelt a Dim sorban az usor%, amit Te végül nem dimenzionáltál.
Az utolsó sor (usor) értékét a
usor = Range("U" & Rows.Count).End(xlUp).Row
sor szerint a lap U oszlopából veszed az A helyett. Ha az U oszlopban nincs adat, vagy nem annyi van, mint az A-ban, hibásan működik a makró.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 m.zmrzlina #17830 üzenetére
A saját kijelölés kiküszöbölésére a for each fölött a
Range("A1").Select
Selection.CurrentRegion.Selectkijelöli a szükséges területet.
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 m.zmrzlina #17834 üzenetére
Aktuális terület 1 cellából nézve az, amit 4 irányból határol 1-1 üres oszlop, ill. üres sor.
A területen belül állva Ctrl+a, vagy Ctrl+t jelöli ki. Próbáld ki foghíjas területekkel.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
Ez a forma nem a legjobb hozzá. Próbáld másképpen.
Dühítő ez a 2010-es verzió. Adok egy galambszürke kitöltést a diagram területére, mire ezt a bánatos színt hozza. Nem bajlódom vele tovább, úgysem a szín a lényeg.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 elmouse #17845 üzenetére
Sub atlag_50()
Dim sor As Long, usor As Long, oszlop%, uoszlop%, atlag!
Dim WF As WorksheetFunction
Set WF = WorksheetFunction
uoszlop% = Cells(1, Columns.Count).End(xlToLeft).Column
For oszlop% = 1 To uoszlop%
usor = Cells(1, oszlop%).End(xlDown).Row
atlag! = WF.Average(Range(Cells(usor - 49, oszlop%), Cells(usor, oszlop%)))
Cells(usor + 2, oszlop%) = atlag!
Cells(usor + 2, oszlop%).Font.ColorIndex = 3
Next
End SubMost a különböző hosszúságú oszlopoknál az utolsó érték alá 2 cellával írja be az átlagot piros színnel.
Ha van egy fix sorod, ahol már biztosan nincs adat, akkor a Next előtti 2 sorban az usor+2 helyett ezt a sorszámot add meg, akkor az átlagok azonos sorban jelennek meg.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 elmouse #17852 üzenetére
Igaza Van Muttnak a hibakezelést illetően a 17853-as hozzászólásban. Pótoltam a hiányt.
Sub atlag_50()
Dim sor As Long, usor As Long, oszlop%, uoszlop%, atlag!
Dim WF As WorksheetFunction
Set WF = WorksheetFunction
uoszlop% = Cells(1, Columns.Count).End(xlToLeft).Column
For oszlop% = 1 To uoszlop%
usor = Cells(1, oszlop%).End(xlDown).Row
If usor - 49 > 2 Then
atlag! = WF.Average(Range(Cells(usor - 49, oszlop%), Cells(usor, oszlop%)))
Cells(usor + 2, oszlop%) = atlag!
Else
Cells(usor + 2, oszlop%) = "Kevesebb, mint 50 tétel"
End If
Cells(usor + 2, oszlop%).Font.ColorIndex = 3
Next
End SubProgramozó: 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
IDNUMBER= Cells(lnglastrow,"AB")=Cells(lnglastrow,"O")&"-"&Round(Cells(lnglastrow,"L"),0)[/M
Ez a sor számomra értelmezhetetlen. Itt akarsz értéket adni az IDNUMBER változónak, de a két egyenlőségjel ezt megakadályozza.
[ 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
Felvettem 2 változót. Az egyik a WS, ami Worksheet típusú, és a test.xls INT nevű lapját adtam meg értékének. A másik, WF, WorksheetFunction típusú. Ezt azért vettem fel, hogy a VLookup-ot tartalmazó sor könnyebben olvasható legyen.
Ha jól értettem, az indító füzet aktuális lapján az AB oszlopban lévő adatot keresed a test.xls INT lapjának A oszlopában, és a találat sorában az E oszlop tartalmát íratod az indító füzet T oszlopába.
Betettem a Vlookup sor elé egy hibaelhárítást arra az esetre, ha a keresett érték nem szerepelne a másik füzetben (On Error Resume Next).Sub Keres()
Dim sor As Long, usor As Long, WS As Worksheet, WF As WorksheetFunction
Set WS = Workbooks("test.xls").Worksheets("INT")
Set WF = Application.WorksheetFunction
usor = Range("AB" & Rows.Count).End(xlUp).Row
For sor = 2 To usor
If Cells(sor, "AB") > "" Then
On Error Resume Next
Cells(sor, "T") = WF.VLookup(Cells(sor, "AB"), WS.Range("A:P"), 5, 0)
End If
Next
End SubProgramozó: 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
Be van kapcsolva az Excelben az Analysis ToolPak, és az Analysis ToolPak - VBA? Lehet, hogy ezeket hiányolja. Eszközök | Bővítménykezelő menüpontban kapcsolhatod be.
Mivel láttam, hogy xls a kiterjesztés, 2003-as verzióban írtam a makrót, a bővítmények bekapcsolása után működnie kell.
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 elmouse #17874 üzenetére
Szívesen.
A változóknak igyekszem olyan neveket adni, ami utal a tartalmukra, ez biztosan segít a megértésben.
A változó végén lévő % jel azt jelenti, hogy -32768 és 32768 közötti egész számot fogadhat, a !-es végű törtet, jó nagy tartományban. A Long típusú változó is egész számokat fogad, szintén nagy tartományban.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 MarKoo #17876 üzenetére
Arra az esetre írtam a makrót, mikor a 12 lapon az A oszlopban van a dátum, B-ben az adatok. A hónapok után szerepel az Összesítő nevű lap, annak az A1:A3 tartományába írja be a lapnevet, a dátumot, és a legnagyobb értéket.
Sub Legnagyobb()
Dim sor%, lap%, nagy!, lapnev$, kelt As Date
Dim WF As WorksheetFunction
Set WF = Application.WorksheetFunction
For lap% = 1 To 12
If WF.Max(Sheets(lap%).Range("B:B")) > nagy! Then
nagy! = WF.Max(Sheets(lap%).Range("B:B"))
sor% = WF.Match(nagy!, Sheets(lap%).Range("B:B"), 0)
kelt = Cells(sor%, "A")
lapnev$ = Sheets(lap%).Name
End If
Next
With Sheets("Összesítő")
.Range("A1") = lapnev$
.Range("A2") = kelt
.Range("A3") = nagy!
End With
End SubProgramozó: 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
Nézz szét a YouTube-on, keress rá a word, körlevél címszavakra.
Az sem árt, ha elolvasod a Word súgóját. Körlevél | Címkék készítése. Ezzel érdemes kezdeni a munkát.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
A törzsdokumentumba beviszel egy táblázatot, aminek a mezőiben lesznek az adataid.
Az első mezőbe beszúrod az adatmező(ke)t. Kapcsold be a "Körlevélmezők kiemelése" funkciót.
A második mező kitöltését azzal kezdd, hogy a Beszúrás | Szöveg | Kész modulok menüponttal beszúrod a Next mezőt. Ez a táblázatodban «Következő rekord» -ként jelenik meg. Ez alá beszúrod a többi adatmezőt. A táblázatodnak ezt a mezőjét már másolhatod.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 dellfanboy #17902 üzenetére
=FKERES("*" & "TGDF" & "*";......;....)
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 zulu_mester #17908 üzenetére
Feltettem ide.
A Munka3 lap H2:H16 tartományába beírtam az idei ünnepnapokat, a tartományt elneveztem Ünnepek-nek. A feltételes formázásban erre a tartományra hivatkozom.
Előbbi, vagy későbbi évek ünnepnapjait is be kell venned az Ünnepek tartományba.[ 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.
Új hozzászólás Aktív témák
- LEGO klub
- PlayStation 5
- Computex 2024: Itt az új ROG Ally
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- KONZOL beárazás
- Nem indul és mi a baja a gépemnek topik
- Kínai, és egyéb olcsó órák topikja
- Kerékpárosok, bringások ide!
- DUNE médialejátszók topicja
- Vezetékes FÜLhallgatók
- További aktív témák...
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! LEGOLCSÓBB! Automatikus 0-24
- AKCIÓ! - STEAM kulcsok / Punch Club, Oddworld: Soulstorm, Children of Morta, stb. - 2024.05.16.
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Bitdefender Total Security 3év/3eszköz! - "Tökéletes védelem most kedvező áron..."
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Alpha Laptopszerviz Kft.
Város: Pécs