-
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
válasz Reinhardt #12384 üzenetére
A C2 képlete =A2& " "&B2,
a D2-é =HA(DARABTELI(A:A;A2)<>DARABTELI(C:C;C2);1;"")Ez csak akkor hoz jó eredményt, ha az azonos stílushoz azonos lokáció érték tartozik.
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 Reinhardt #12386 üzenetére
Az A oszlopnak emelkedő sorrendben kell lennie!
A D2 cella képlete:
=HA(DARAB2(INDEX(A:A;HOL.VAN(A2;A:A;0);1):INDEX(A:A;HOL.VAN(A2;A:A;1);1))=DARAB2(INDEX(B:B;HOL.VAN(A2;A:A;0);1):INDEX(B:B;HOL.VAN(A2;A:A;1);1));"";1)Szerk.: itt már nincs szükség segédoszlopra.
[ 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 Reinhardt #29271 üzenetére
Állítsd be a nyomtatási képen a fekvő lapot, és a margókat. Indíthatod a nyomtatást.
Sub Nyomtat()
Dim lap As Long, sor As Integer, valtozo As Integer
valtozo = 1
For lap = 1 To 50
For sor = 4 To 22 Step 2
Cells(sor, "G") = valtozo
valtozo = valtozo + 1
Next
Range("A1:K23").Select
Selection.PrintOut Copies:=1
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.
-
m.zmrzlina
senior tag
válasz Reinhardt #29271 üzenetére
Ez is valami hasonló, csak ez nem nyomtat, hanem létrehozza a munkalapot amit neked kell kinyomtatni.
Sub letrehoz()
k = 1
For i = 1 To 50
Sheets("Munka1").Copy after:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = i
For j = 4 To 22 Step 2
Sheets(Sheets.Count).Range("G" & j).Value = k
k = k + 1
Next
Next
End Sub -
m.zmrzlina
senior tag
válasz Reinhardt #29275 üzenetére
Részlet a topik Téma összefoglalójából:
– Modulba írás: Alt+F11-re bejön a makró szerkesztő. Bal oldalon ki kell választani a füzetet, majd az Insert | Module menüpontokkal új modult kapunk, ami a bal oldalon látszik, és ki van jelölve. A jobb oldali nagy üres mezőbe kell bemásolni a fórumon kapott makrót. Visszalépve a füzetbe az Alt+F8 előhoz egy párbeszéd ablakot, itt tudjuk kiválasztani és indítani a makrót.
Az angol nyelv itt most nem számít.
[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz Reinhardt #30024 üzenetére
Feltételezem, hogy címsorod van, ezért a képeket a második sortól kezdve szúrom be. Ellenkező esetben a +1-eket töröld a makróból három helyen.
A képek magasságát a sorok magasságához igazítom, a képarányok megtartásával.A makróban 2 sort jelöltem csillagokkal. Az elsőnél a képek elérési útvonalát kell módosítanod, a másodiknál a kiterjesztést, ha nem jpg.
Sub Kepek()
Dim sor As Long, kepneve As String
Dim utvonal As String
utvonal = "D:\Képek\" '1.*******
For sor = 1 To 15
kepneve = Right("000" & sor, 3) & ".jpg" '2.*******
Range("A" & sor + 1).Select
ActiveSheet.Pictures.Insert(utvonal & kepneve).Select
Selection.ShapeRange.Top = Rows(sor + 1).Top
Selection.ShapeRange.Left = 0
Selection.ShapeRange.LockAspectRatio = msoTrue
Selection.ShapeRange.Height = Rows(sor + 1).Height
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 Reinhardt #30035 üzenetére
Most is kipróbálhatod, ahogy én is tettem.
Felveszel egy mappát, ennek az útvonalát teszed be az utvonal változóba.
Teszel néhány képet bele, amiket elnevezel 001.jpg-től 015.jpg.ig
A lapon a sorokat olyan magasságúra állítod, amilyen magasak legyenek a képek.
Indítod a makrót.Szombaton a For sor=1 to 15 sorban a 15 helyett annyit írsz, ahány képed van.
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 Reinhardt #31051 üzenetére
Egy eseményvezérelt makróval megoldható. Ehhez kell pár adat.
– Melyik cellákban van a 6 adat, amit véletlenszerűen be akarsz íratni?
– Mindig 1 cellába írsz be, vagy pl. egy oszlopba?
– A karakterek, vagy a háttér színe legyen kék, ill. zöld?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 Reinhardt #31059 üzenetére
A 6 választható adatot a Z1:Z6 tartományba írtam.
A makrót a laphoz kell rendelned. Erről olvashatsz a Téma összefoglalóban.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Application.EnableEvents = False
With Range(Target.Address)
.HorizontalAlignment = xlRight
.Font.ColorIndex = 10
.Offset(1) = Range("Z" & Int(Rnd() * 6) + 1)
.Offset(1).Font.ColorIndex = 5
.Offset(1).HorizontalAlignment = xlLeft
End With
Application.EnableEvents = True
End If
End SubAz A oszlopba beírt adat alá írja a véletlen kiválasztott értéket.
[ 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 Reinhardt #33558 üzenetére
Egy cellába beírtam: 0:15, majd általánosra váltottam át a cellaformátumot.
Kaptam egy szép hosszú törtet, ezt: 0,0104166666666667. A képletben ezt használtam a kerekítéshez.E2 -> =MROUND(HA(D2>C2;D2-C2;24-C2+D2);0,0104166666666667)
F2 -> =E2-"8:00"
G2 -> =E2-"0:30"Az összegző képletek cellaformátuma [ó]:00 legyen.
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 Reinhardt #33624 üzenetére
Fájl menü, Nyomtatás, Oldalbeállítás, Élőfej és élőláb fül, Egyéni élőfej.
Itt kiválaszthatod, hogy balra, középre, és/vagy jobbra akarod beírni a dátumot. Pl. középre beírod, hogy Dátum: (szóközzel a végén), majd kiválasztod a naptár ikont.
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 Reinhardt #33628 üzenetére
Rögzíts egy sort, amiben csak egy nyomtatást hajtasz végre. Ez azért kell, mert a rögzítés tartalmazza, hogy melyik nyomtatóra küldöd az anyagot.
Másold be egy modulba a lenti makrót.
Sub Nyomtat()
Dim napig, nap As Integer
napig = Application.WorksheetFunction.EoMonth(Date, 0)
napig = Day(napig)
For nap = 1 To napig
ActiveSheet.PageSetup.CenterHeader = "Date: " & nap & "/" & Month(Date) & "/" & Year(Date)
'ide jön a rögzített nyomtatási sor
Next
End SubA megjegyzésbe írt 'ide jön... helyére másold be a rögzített sorodat. Mentsd el a füzetet makróbarátként.
A lapról töröld ki a sort, ami most a dátumot tartalmazza, mert ezt a makró az élőfejbe írja majd be.
A makró az aktuális hónap minden napjára elkészíti a nyomtatást, a fejlécben a napi dátummal.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
-
lappy
őstag
válasz Reinhardt #38932 üzenetére
egy saját függvénnyel lehet csak
pl.:Function ColorFunction(rColor As Range, rRange As Range, Optional SUM As Boolean)
Dim rCell As Range
Dim lCol As Long
Dim vResult
lCol = rColor.Interior.ColorIndex
If SUM = True Then
For Each rCell In rRange
If rCell.Interior.ColorIndex = lCol Then
vResult = WorksheetFunction.SUM(rCell, vResult)
End If
Next rCell
Else
For Each rCell In rRange
If rCell.Interior.ColorIndex = lCol Then
vResult = 1 + vResult
End If
Next rCell
End If
ColorFunction = vResult
End FunctionA színes cellák számlálása : = ColorFunction (A, B: C, FALSE)
A színes cellák összegzése : = ColorFunction (A, B: C, TRUE)
Bámulatos hol tart már a tudomány!
-
Mutt
aktív tag
válasz Reinhardt #47593 üzenetére
Szia,
Office365 vagy Office 2021-ben vannak újabb függvények, amelyekkel szintén megoldható.
A feltételes formázásban ez a képlet:
=ISODD(XMATCH(A2;UNIQUE($A$2:$A$21)))üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Fferi50
őstag
-
lappy
őstag
válasz Reinhardt #50969 üzenetére
hát nem értem mit akarsz
pl . január 01 200kW
február 10 340kW
március 20 500kW
ebből azt akarod hogy minden egyes adat 01 nappal legyen? mivel nem egyenletes valószínű a fogyasztás így csak kb értéket tudsz számolni az eddigi átlagokkal[ Szerkesztve ]
Bámulatos hol tart már a tudomány!
-
Fferi50
őstag
válasz Reinhardt #50969 üzenetére
Szia!
1. Karbantartót kirúgni, újat felvenni. Munkaköri leírásban rögzíteni, hogy minden hónap elsején köteles az órák állását leolvasni és rögzíteni.
2. Irodás Micikének munkakörébe iktatni, hogy minden hónap elsején köteles ellenőrizni a karbantartót, elmaradás esetén leolvasni az órák állását.
3. Okosórákat beszerelni amelyek automatikusan továbbítják az óraállást minden hónap elsején.
Komolyra fordítva: Jelen esetben csak interpolálni tudsz: ábrázolod az adatokat Excelben grafikonon, kérsz rá egy trendfüggvényt és az alapján számítasz becsült hó eleji adatokat.
Üdv. -
Mutt
aktív tag
válasz Reinhardt #50969 üzenetére
Szia,
Lineáris interpolálással meg lehet becsülni a köztes értéket.
Lépések:
1. Hónap kezdőnapjánk meghatározása. Az E-oszlopban a képlet: =EOMONTH(D2;-1)+1
2. Meghatározni, hogy ez előző leolvasás és a hónap kezdőnapja között hány nap telt el.
Az F-oszlop képlete: =E2-D3-1
3. A C-oszlopban van a két leolvasás közötti fogyás, ha elosztjuk a két leolvasás között eltelt napok számával akkor tudjuk a napi átlag fogyasztást. Ezt megszorozzuk a 2-es lépésben kapott napokkal megkapjuk hogy hó elejéig mennyi fogyhatott. Végül hozzáadjuk ezt az előző hónapi értékhez.G-oszlopban a képlet: =B3+INT(C2/(D2-D3)*F2)Ha segédoszlopok nélkül kell, akkor pedig az egész egybegyúrva (és kicsit egszerűsítve):
=B3+INT(C2/(D2-D3)*(EOMONTH(D2;-1)-D3))üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel