- Házimozi haladó szinten
- Milyen egeret válasszak?
- Vezetékes FEJhallgatók
- Így nézz tévét 2025-ben: új ajánlások, régi szabályok
- Bluetooth hangszórók
- Milyen billentyűzetet vegyek?
- HP notebook topic
- 5.1, 7.1 és gamer fejhallgatók
- Azonnali VGA-s kérdések órája
- Vélemény: nem úgy tűnik, de Lip-Bu Tan most menti meg az Intelt
-
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
-
sztanozs
veterán
válasz
Delila_1 #29525 üzenetére
Végül ezt találtam a témában. Úgy tűnik a VLOOKUP és az INDEX bugos
{=SUM(VLOOKUP(array, ...))} -
sztanozs
veterán
válasz
Delila_1 #29523 üzenetére
Sima lookup-nál nincs ilyen paraméter.
Érdekes módon a lookup (obsolete) működik, de a vlookup nem és az index+match sem.
Debugoltam egy kicsit és ez fogadott:
Named Range-ek:
src_s1 =MATCH(choises, src_a, 0)
src_s2 =INDEX(src_b,sch_s1)
src_s3 =IFERROR(sch_s2,0)=count(src_s1) -> 2
=counta(src_s1) -> 10
Eddig jó=count(src_s2) -> 1
=counta(src_s2) -> 1
Ez már nem jó...És a végén természetesen a SUM sem jó:
=SUM(src_s3) -> 3 (az első elem)Az INDEX valahogy elcseszi a tömb struktúrát (pedig ha lehúzom excelben a 10 mezőt, akkor jól kiírja az elemeket)
-
TrollBalint
addikt
válasz
Delila_1 #29516 üzenetére
Hello,
bocsánat, az excel az 2013-as verziójú.
A makrót szeretném elkerülni, reménykedtem, hogy van valami beépített függvény, vagy akár több is, amiket, ha egymásba ágyazunk, akkor megoldható, hogy egy tartomány összes sorát keresse meg egy másik tartományban, és amit megtalált, ott X oszloppal eltolt cella tartalmát adja össze. Hasonlóan, mint az index/match, csak nem szeretném minden sorra külön megírni a képletet.
Természetesen a segítségedet köszönöm, és mint egy B verziót, el is mentem magamnak -
twingos
tag
válasz
Delila_1 #29487 üzenetére
Szia,
Köszönöm a választ.
Szerintem sikerült ismét nem jól fogalmaznom.
Tehát az A oszlop a fix. Ha ott megtalálja az ABC kezdetű szót akkor B oszlopba írja ,hogy ALMA.
Tehát a B oszlop üres, és oda kellene beírnia , hogy ALMA.Bízok benne ,hogy így érthetőbb.
Ismét nagyon köszönöm a fáradozásodat!üdv
-
m.zmrzlina
senior tag
válasz
Delila_1 #29427 üzenetére
Közben rájöttem (és megint tanultam valamit) hogy a rng_Dkioszt és rng_Akioszt objektumváltozó deklarálásával volt gond. Én azt gondoltam (helytelenül) ha én pl deklarálom - hogy a példáddal éljek -
Set rng_Dkioszt = Range("E2:E15")
tartományt akkor ott pl az E2 cellának a .Row tulajdonsága 1 lesz hiszen abban a tartományban az az 1. sor. Na hát ez nagyon nem így van.Köszi a választ!
-
-
bsh
addikt
válasz
Delila_1 #29406 üzenetére
miért van annyi képlet? ezt kérdezd attól, aki a táblázatot csinálta
gondolom fogott egy képletet és autofillel lerántotta a végtelenbe és tovább, hogy "biztosamibiztos"
de a ctrl+end az működik ezeken a táblázatokon rendesen, az utolsó értéket tartalmazó sorra (és oszlopra) ugrik, képlettől függetlenül. ezt kéne valahogy kihasználnom vba-ból.a "táblázattá alakítás" az egy teljesen másik projekt, semmi köze nincs a lastrow-os dologhoz, sőt az excelhez sincs egyáltalán semmi köze. és kimaradt egy lényeges sor a kódból, mert figyelmetlenül másoltam be:
For Y = 1 To RefDocs.Count
Call CreateRow(Y)
FrmTáblázat.Frame1.ScrollHeight = FrmTáblázat.Frame1.ScrollHeight + RowHeight
Next Y
és a rowheight az egy konstans.
de a lényeg, hogy szerintem meg van adva a userform mérete is, na.
az event kezelés csak arra kellene (de végülis nem életbevágó), hogy csak azokat az értékeket kelljen visszaírni a megfelelő ojjektumokba, amiket megváltoztat a user (vagy a makró, lehet teszek bele ilyen autocorrect funkciót). nekem annyi elég lenne, hogy ha egy (közös, many-to-one) combobox_change event lenne, ami tudná a változott "cella" nevét (amiből én tudom, hogy azt hová kell majd visszaírni) és mondjuk az adott *box .tag-jét beállítom "changed"-re, onnan már sima ügy. -
bsh
addikt
válasz
Delila_1 #29404 üzenetére
nem, azzal azzal megtalálja az utolsó értéket tartalmazó cellát a megadott oszlopban. csak ugye nem tudok egy konkrét oszlopot megadni, mert nem biztos, hogy ténylegesen mindig az az oszlop lesz a "leghosszabb".
de mondjuk az is lehet, hogy pont abban a két oszlopban amivel próbáltam, abban nem volt húszmillió képlet -
bsh
addikt
válasz
Delila_1 #29402 üzenetére
ez nem jó, mert ha pl. képletek vannak a cellákban (de értékek nélkül), akkor azt így is beleveszi az usedrange-be.
így van a form generálva:
Load FrmTáblázat
FrmTáblázat.Frame1.Caption = "blahblahblah"
FrmTáblázat.Frame1.Left = 3
FrmTáblázat.Frame1.Top = 2
FrmTáblázat.Frame1.Width = 1100
FrmTáblázat.Frame1.Height = 20 + 20 * RowHeight
FrmTáblázat.Frame1.ScrollHeight = 7
FrmTáblázat.Height = FrmTáblázat.Frame1.Height + 70
FrmTáblázat.Width = FrmTáblázat.Frame1.Width + 10
For Y = 1 To RefDocs.Count
Call CreateRow(Y)
'itt az adatok kitöltése
Next Y
If Y < 20 Then
FrmTáblázat.Frame1.ScrollBars = fmScrollBarsNone
Else
FrmTáblázat.Frame1.ScrollBars = fmScrollBarsVertical
End If
FrmTáblázat.Show
End Subés minden sor minden egyes textboxa pedig így: (combobox tökugyanez, csak ott még a választható értékek feltöltése is benne van, +3 sor)
Private Sub CreateTextBox(ByVal Y As Integer, ByVal Name As String, ByVal L As Long, ByVal W As Long)
Set newTB = FrmTáblázat.Frame1.Controls.Add("Forms.TextBox.1", CStr(Y) & Name, False)
newTB.Width = W
newTB.Height = RowHeight
newTB.Top = (Y - 1) * RowHeight + 6
newTB.Left = L
newTB.SelectionMargin = False
newTB.AutoSize = False
newTB.Font.Name = FntName
newTB.Font.Size = FntSize
newTB.SpecialEffect = fmButtonEffectFlat
newTB.BorderStyle = fmBorderStyleSingle
newTB.Visible = True
Set newTB = Nothing
End Sub -
bsh
addikt
válasz
Delila_1 #29395 üzenetére
akartam írni, hogy ez egy szép kis képlet lesz, de megelőztél
ha gyakran kell, akkor én ilyesmire inkább írnék egy saját függvényt:
Public Function TextSplit(TString As String, Delim As String, Pos As Integer) As String
TextSplit = Split(TString, Delim)(Pos)
End Function
'Használata: =TextSplit(A1;":";2) -
bsh
addikt
válasz
Delila_1 #29375 üzenetére
az eredeti kérdés csak a megtekintés (megnyitás) volt.
de én is kérdeznék, sőt kettőt is:
az első az erről a lastrow-ról jut eszembe, egy feladatnál kell nekem ilyen, de ez az egyszerű megoldás nem jó, mert nem feltétlen vannak minden oszlopban kitöltve a mezők, nincs olyan oszlop, amit hasznáhatnék az range-hez, mert lehet, hogy van annál hosszabb oszlop is. viszont a ctrl+end az rendesen a legutolsó sor legutolsó oszlopra ugrik. ezt nem lehet valahogy meghívni közvetlenül? vagy erre nincs valami gyors megoldás? (ha végignézem egyesével az oszlopokat, hogy melyik a leghosszabb, az nem elég gyors)a másik nekem bonyolultabb:
még a tegnap írt problémás userform-hoz jó lenne "cella"-szintű event handling. ezt én a kis egyszerű tudatlan fejemmel úgy képzeltem el, hogy "definiálok" egy saját combobox (és ugyanígy textbox) objektumtípust egy class modulban:
Class1:
public withevents eComboBox as ComboBoxés a kódban, ami generálja a userform-ban a "cellákat" ezt használnám a sima msforms.combobox helyett:
newCB = userform.frame.controls.add("msforms.combobox.1", név, true)
helyett:
newCB = userform.frame.controls.add("class1.ecombobox", név, true)persze ha ez működne akkor nem kérdezném, hogyan kell...
próbáltam úgy is, hogy ez előtt a sor előtt explicit megadom a newCB típusát:
dim newCB as class1.ecomboboxde én sajnos ezekhez már nem értek.
találtam rá pár hasonló példát google-ben, de azokat sem bírtam értelmezni illetve nem működnek. szóval kis segítséget kérnék.
-
poffsoft
veterán
-
Márkó20
újonc
válasz
Delila_1 #29366 üzenetére
De jó, köszi. A képek azok a fülek, van egy INBOUND, OUTBOUND és Summary ahol a Balance képlete is látszik.
http://prohardver.hu/dl/upc/2015-11/04/487992_phz9ml1cbqjdhcgm_3.png
http://prohardver.hu/dl/upc/2015-11/04/487992_gr5r4kjgcfsukdrb_2.png
http://prohardver.hu/dl/upc/2015-11/04/487992_qiwjkhpjar21yes8_1.png -
Belnir
csendes tag
válasz
Delila_1 #29353 üzenetére
Akkor is, ha nem menti el?
A kód jelenleg ilyen, lehet, hogy ebben van a hiba (amikor másolgattam) - valamint a sorrend fontos?
Private Sub Workbook_Open()
Dim lastrow As Long
Application.ScreenUpdating = False
With Worksheets("Rejtett")
lastrow = .Range("A" & Rows.Count).End(xlUp).Row + 1
With .Range("A" & lastrow)
.Offset(0, 0).Value = "OPEN"
.Offset(0, 1).Value = ThisWorkbook.FullName
.Offset(0, 2).Value = Now()
.Offset(0, 3).Value = "'*"
.Offset(0, 4).Value = "'*"
.Offset(0, 5).Value = Environ$("username")
.Offset(0, 6).Value = Environ$("computername")
.Offset(0, 7).Value = Environ$("userdomain")
End With
End With
Application.ScreenUpdating = True
End Sub
Private Sub Workbook_AfterSave(ByVal Success As Boolean)
Dim lastrow As Long
Application.ScreenUpdating = False
With Worksheets("Rejtett")
lastrow = .Range("A" & Rows.Count).End(xlUp).Row + 1
With .Range("A" & lastrow)
.Offset(0, 0).Value = "OPEN"
.Offset(0, 1).Value = ThisWorkbook.FullName
.Offset(0, 2).Value = Now()
.Offset(0, 3).Value = "'*"
.Offset(0, 4).Value = "'*"
.Offset(0, 5).Value = Environ$("username")
.Offset(0, 6).Value = Environ$("computername")
.Offset(0, 7).Value = Environ$("userdomain")
End With
End With
Application.ScreenUpdating = True
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim lastrow As Long
Application.ScreenUpdating = False
With Worksheets("Rejtett")
lastrow = .Range("A" & Rows.Count).End(xlUp).Row + 1
With .Range("A" & lastrow)
.Offset(0, 0).Value = "OPEN"
.Offset(0, 1).Value = ThisWorkbook.FullName
.Offset(0, 2).Value = Now()
.Offset(0, 3).Value = "'*"
.Offset(0, 4).Value = "'*"
.Offset(0, 5).Value = Environ$("username")
.Offset(0, 6).Value = Environ$("computername")
.Offset(0, 7).Value = Environ$("userdomain")
End With
End With
Application.ScreenUpdating = True
End Sub -
Belnir
csendes tag
válasz
Delila_1 #29342 üzenetére
Nagyon köszönöm! A leírás szuper, de mégis valami nem stimmel. Mondatonként haladtam, de nem két részleg lett, hanem három.
Private Sub Workbook_AfterSave(ByVal Success As Boolean)
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
End Sub
Private Sub Workbook_Open()
Dim lastrow As Long
Application.ScreenUpdating = False
With Worksheets("Rejtett")
lastrow = .Range("A" & Rows.Count).End(xlUp).Row + 1
With .Range("A" & lastrow)
.Offset(0, 0).Value = "OPEN"
.Offset(0, 1).Value = ThisWorkbook.FullName
.Offset(0, 2).Value = Now()
.Offset(0, 3).Value = "'*"
.Offset(0, 4).Value = "'*"
.Offset(0, 5).Value = Environ$("username")
.Offset(0, 6).Value = Environ$("computername")
.Offset(0, 7).Value = Environ$("userdomain")
End With
End With
Application.ScreenUpdating = True
End SubMit rontottam el?
-
válasz
Delila_1 #29318 üzenetére
Mi a különbség a te makród,
Sub Ertek_beillesztese()
'Billentyűparancs: Ctrl+e
Selection.PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
End Sub..és aközött, aminek a kódját én szedtem össze innen-onnan?
Sub ertek_be()
'
' ertek_be Makró
' csak az érték beillesztése
'
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub -
karlkani
aktív tag
válasz
Delila_1 #29326 üzenetére
Szia!
Megcsináltam én is az összefoglaló szerint, majd ezt a kódot bemásoltam.
Sub Ertek_beillesztese()
'Billentyűparancs: Ctrl+e
Selection.PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
End SubElmentettem. Betöltöttem egy munkafüzetet, ahol kipróbálnám a beillesztést, de nem megy.
Runt-time error '1004':
Range osztály PasteSpecial metódusa hibás -
Kapanyél
őstag
válasz
Delila_1 #29318 üzenetére
Köszönöm!
2013 alatt nincs Eszközök menü... létrehoztam egy personal.xlsm-et (makróbarát munkafüzet), module1-be bemásoltam a kódot, elmentettem, de sehogy nem lesz belőle xlsb. (közben megtaláltam: bináris excel fájlként mentve xlsb lesz)
Futtatáskor hibát ír. Sajnos tökkezdő vagyok makróban. -
-
-
-
-
ny.janos
tag
válasz
Delila_1 #29235 üzenetére
Sziasztok!
Bár a makró programozáshoz nem értek semmit, felmerült egy ötletem a probléma egy másik megközelítési módjára, ami talán egyszerűbb, mint az általatok írt, csak ahhoz is kell egy makró, amit viszont én nem tudok ez előzőek miatt elkészíteni.
Viszont az alapötlet talán használható: az "Összes könyvelési adatok" munkalap adattartalmát haladó szűréssel másoljátok a házipénztár munkalapra. Ha az "Összes könyvelési adatok" munkalap tartományát táblázattá alakítjátok, és szűrésben ez a táblázat lesz a listatartomány, akkor már csak a szűrés futtatásához kell egy makrót írni. Ha bármely adatot változtatjátok utólag (pl. korábbi téves kitöltés miatt) az "Összes könyvelési adatok" munkalapon, akkor a makró futtatásával minden adat frissül a "Házipénztár" munkalapon.
Ha bármikor további szűrőfeltétel megadása válna szükségessé a fizetési módon kívül az egy pillanat alatt megadható a szűrőtartományban.
-
válasz
Delila_1 #29235 üzenetére
Sziasztok!
Hoztam egy szép kis fejtörőt.A következőre kellene egy makró:
Van 2 lapfülem: egyes és kettes
Az egyes lapfülön az F oszlopban a 3 sortól nevek vannak a H3-as cellától pedig az IGEN/NEM található.1, Keresse meg a H oszlopban az első IGEN-t
2,Az IGEN melletti F oszlopból a nevet másolja ki.
3, A kettes lapfülre lépjen át, az A oszlopra.
4, Az A oszlopban keresse meg az első üres sort és oda másolja be.
5, És az IGEN keresését csinálja addig míg az egyes lapfülön üres sort talál.Remélem érthetően írtam le.
Köszönöm, Ha valakinek van rá ötlete.
István -
irodakukac
csendes tag
válasz
Delila_1 #29205 üzenetére
Ez egy fontos információ volt!! Köszi!
Azon gondolkodom, hogy hogyan tudna dinamikusan működni. Minden hónapban kapunk egy havi (január, később február.....) könyvelési analitikát. Ebben van átutalás, készpénz is. Ez az összesen munkafüzetben van.
Innen másolja a program a készpénzeket a házipénztárba. Azokat a sorokat, amik a programírás után kerülnek be a táblába.
Hogyan tudom elérni, hogy a kapott havi új táblának a megfelelő sorai bekerüljenek a házipénztárba?Megoldás lehet, ha először kiürítem az összesen munkalapot? Jut eszembe, akkor a házipénztár munkalap tartalmát is törölni kell. Talán ezzel kerülöm el a hiba lehetőségét.
Gondolkodom, hogyan tudnám a legkevesebb hibával megfelelő helyen tudni a megfelelő havi adatokat.
Szerinted?
-
irodakukac
csendes tag
válasz
Delila_1 #29200 üzenetére
Szuper!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MŰKÖDIK!!! köszönöm szépen!!!!!Ezzel a programmal valószínű egy másik rég óta fenn álló problémámat is megoldottad!!!!
Mindjárt azt is kipróbálom.Kérdésem, hogy ha egy sor adata változik (pl. költséghely nem mindig megfelelő, és később jövünk rá és javíttatjuk), akkor ezek a korábbi sorok is változnak/ autómatikusan?
Vagy ha több dolog változik visszamenőleg, akkor inkább töröljem ki a házipénztár tartalmát?
Törlés esetén újra bekerülnek a sorok? -
irodakukac
csendes tag
válasz
Delila_1 #29197 üzenetére
Amikor a laphoz rendelésnél bemásolom a makrót, kell még vmit csinálni? Én visszamentem az Excel nézetbe (view microsoft excel)
Ha a makro bemásolása után viszek fel egy új sort az összesen...-be, akkor a házipénztárban kellene látnom, ugye?
Frissítést és egyebet nem is kell nyomnom, mert autómatikus?Fejléc van a házipénztárban, természetesen, és az eddigi sorok is ott vannak.
Valami alap hibám lehet, gondolom...
Van még valami ötleted?
-
irodakukac
csendes tag
válasz
Delila_1 #29191 üzenetére
Adatok az A oszloptól a T oszlopig vannak a táblázatban.
A házipénztár munkalapon a "készpénz"eknek kellene szerepelniük.
Arra van szükségem, hogy ha "készpénz", akkor másolja (ne kivágja, mert az Összes könyvelés munkalapon is szükség van rá) át a sort a házipénztárba.
Remélem, hogy tudtam pontosan, érthetően fogalmazni.Az Összes könyvelés munkalapon minden maradjon meg (átutalás, készpénz); A házipénztár munkalapon látszódjon a készpénzes fizetés minden adattartalommal (ezek az A-U oszlopig vannak benne)
-
lenkei83
tag
válasz
Delila_1 #29171 üzenetére
Kérdezek inkább konkrétabban:
Itt ez a kód, ami munkalapon belül tök jól működik: írj be véletlenszerűen 12-es számot celláka, "A1"-ben összedja. Mondjuk Munka1-en.
Ami a bajom, hogy ha a szum képletet nem activesheet-re szeretném, hanem Munka2-re (de az összeadandó értékeim maradnak Munka1-en), akkor hogyan tudom megadni minden range elé, a parent.name-et? Vagyis, hogy a szum képlet hivatkozzon Munka1-reKülönálló celláknál még egyszerűbb a helyzet, de mi van akkor, ha úgy jön ki a range, hogy 3 cella van egymás alatt, aztán egy cella valahol máshol, aztán megint 4 egymás mellett máshol stb...
Sub FindAll()
Dim fnd As String, FirstFound As String
Dim FoundCell As Range, rng As Range
Dim myRange As Range, LastCell As Range
fnd = "12"
Set myRange = ActiveSheet.UsedRange
Set LastCell = myRange.Cells(myRange.Cells.Count)
Set FoundCell = myRange.Find(what:=fnd, after:=LastCell)
If Not FoundCell Is Nothing Then
FirstFound = FoundCell.Address
Else
GoTo NothingFound
End If
Set rng = FoundCell
Do Until FoundCell Is Nothing
Set FoundCell = myRange.FindNext(after:=FoundCell)
Set rng = Union(rng, FoundCell)
If FoundCell.Address = FirstFound Then Exit Do
Loop
' rng.Select
Range("A1").Formula = "=sum(" & rng.Address & ")"
Exit Sub
NothingFound:
MsgBox "Nem található a keresett érték: " & fnd
End Sub -
szatocs1981
aktív tag
válasz
Delila_1 #29119 üzenetére
Igaz, akkor így:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngz As Range
On Error GoTo Ende
Application.EnableEvents = False
For Each rngz In Application.Intersect(Columns("B"), Target).Cells
rngz.Offset(0, -1).Value = Date
Next rngz
Ende:
Application.EnableEvents = True
End Sub -
karlkani
aktív tag
válasz
Delila_1 #29088 üzenetére
"Összemixeltem" a két makrót, ez lett belőle.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim sor As Long
sor = Target.Row
If Target.Column = 4 Or Target.Column = 8 And Target.Row > 1 Then
Application.EnableEvents = False
If IsNumeric(Cells(sor, "D")) And IsNumeric(Cells(sor, "H")) And Cells(sor, 4) <> "" And Cells(sor, 8) <> "" Then
Cells(sor, "I") = (Cells(sor, "H") - Cells(sor, "D") * 8)
Range(Target.Address).Select
End If
Application.EnableEvents = True
End If
Dim ertek As Double
If Target.Column = 4 Or Target.Column = 8 Then 'D vagy H oszlop
Range("I" & Target.Row).Select
With Range("I" & Target.Row)
On Error Resume Next
.AddComment
.Comment.Visible = True
.Comment.Shape.Select True
.Comment.Text Text:=ertek & " Ft/liter"
.Comment.Shape.Select
Selection.AutoSize = True
End With
If IsNumeric(Range("H" & Target.Row)) And _
IsNumeric(Range("I" & Target.Row)) Then
On Error Resume Next
ertek = Round(Range("I" & Target.Row) / Range("D" & Target.Row), 1)
Range("I" & Target.Row).Comment.Text Text:=ertek & " Ft/liter"
Range("I" & Target.Row).Comment.Visible = False
End If
Else: Range("I5").Comment.Text Text:=" Ft/liter"
End If
Range(Target.Address).Select
End SubKivettem a 0-t ("0 Ft/liter"), amúgy is egy tizedesjegyre kell kerekítenie, viszont mögé kellene még egy 0 (ha egész szám jön ki, akkor nem). De ha nem megoldható, akkor elég így is. Ezen kívül már csak azt kellene megoldani, ha a D és a H cella értékeket törlöm (mindkettőt), törölje az I értéket, valamint az oda mutató megjegyzést is. Meg gondolom szebben is meg lehet oldani, de én a makróhoz nagyon ***** vagyok...
-
karlkani
aktív tag
válasz
Delila_1 #29088 üzenetére
Nálam ez annyit csinál, hogy beírja az I oszlopba a H-D*8 értékét... ehhez nem kellene makró sem.
Azt szeretném, ha a D és H mezőket kitöltöm, akkor az I-t töltse ki H-D*8 értékkel, majd ugyanoda megjegyzésbe írja be (automatikusan formázottba) az I és a D hányadosát két tizedesjegy pontossággal.Példa
D = 10 liter
H = 3370 Ft
I=> H-D*8=3370-10*8=3290 Ft
majd ide megjegyzésbe => I/D=3290/10=329,90 Ft/liter -
MCGaiwer
addikt
válasz
Delila_1 #29081 üzenetére
Szia!
megpróbálom leírni.
Egy makrót szeretnék, ami adott sor módusulása esetén az "A" oszlopba kiírja azt a dátumot, amikor utoljára módosítva volt a sor (ez ugye mindig az aktuális napi dátum).
Ezt a makrót (túlképpen nem is makró, hanem VBA scriptként fut a sheeten) megcsináltam, és tökéletesen működik.
A probléma ott van, hogy a macrók futásakor az excel törli az undo historyt. Úgy akarom megcsinálni, hogy az aktuális dátum autómatikusan megjelenjen minden módosított sor elején, viszont az undo history is megmaradjon.
-
modflow
veterán
-
MCGaiwer
addikt
válasz
Delila_1 #29066 üzenetére
köszönöm!
Viszont nem teljesen tiszta nekem, hogy ez most azokat az adatokat állítja vissza, amit a macró átírt?
nekem az a fontos, hogy NE azokat állítsa vissza, amit a macró írt, hanem hogy a macró futása ne barmolja szét az undo historyt. Ezt úgy akarom áthidalni, hogy a macrót még azelőtt futtatom, hogy bármit csinálnék (tehát rögtön indulás után), meg az után, hogy már mindennel végeztem (tehát bezárás előtt). a két esemény között pedig az undo simán működhet.
-
csadi0011
őstag
válasz
Delila_1 #29020 üzenetére
1 cellában változtatnám az adatot, szóval jobb lenne függvénnyel, hogy csak írogatni kelljen. Mindig új adat beírásánál szövegből oszlopozni nem túl jó. Meg, ha másnak elküldöm, neki el kell magyarázni, hogy hogyan működik.
Az előző hsz-ben A1-et írtam, és, hogy szétválasztva az A2-ben lesz, de itt a szétválasztott adatoktól balra raktam, mert szerintem így átláthatóbb. -
Tsabee
csendes tag
válasz
Delila_1 #28984 üzenetére
Köszönöm szépen a gyors és részletes válaszodat!
Nos mondhatni nem használom az excelt ezért tudásom 1.0 helyett is inkább 0.0-ásMegcsináltam az első makrót azaz bemásoltam a kódot ezzel kellene valamit csinálnom elmenteni vagy bármit hogy aktív legyen?
Nincs nekem olyan ablakom amit mondasz az N-P oszlopban.
Konkrétan nekem a függőleges és vízszintes tengelyen is csak számok vannak.Itt egy csatolás hogyan szeretném
a számok jönnek sorban szép színesen
alattuk lesz egy összesítő (ahol az egyesek vannak) ez csak az adott sort fogja a végén summázni.
bal oldalt amit pirossal bekereteztem számsort szeretném átírni ismétlődőre tehát nem a táblázaton belül
ez a táblázat vízszintesen 32-ig tart így mellette lévő tartomány üres lesz, lefele viszont végtelenül ismétlődik.
Remélem érthető
-
lenkei83
tag
válasz
Delila_1 #28938 üzenetére
Dehogy kell!
Ez egy sima egysoros képlet lenne, független mindentől. Immediateban futtatható, csak valamit benézek a felépítésében és nem tudom felépíteni.
Ha lefutott a 3 projekt, megköszönném ha rá tudnál nézni. (Holnap is jó)
ActiveCell.Formula = "=sumifs(Range("F2") & "!" & "B:B", Range("F2") & "!" & "V:V", Range("E2"))"
-
Telda
addikt
válasz
Delila_1 #28916 üzenetére
Sajnos hülye példát hoztam fel, elnézést!
Ez lenne a konkrét eset.
"A" oszlopban van egy csomó cikkszámom közel 1800db, most kimásoltam párat.
Azt szeretném, hogy amit a "C" oszlopba beírok, azokat jelölje az "A" oszlopban.
A 4152549V-nek van 6db változata kötjelesen, de szeretném, ha az össze változatát jelölné. -
Kobe
veterán
válasz
Delila_1 #28846 üzenetére
szia
koszi szepen, majdnem tokeletes
ezzel ugye annyi darab uj sheetet hoz letre, ahany sor van. De ha en azt szeretnem, hogy uj, teljesen ures sheetek helyett egy mar meglevo sheetet (nevezzuk Template nek) masoljon le annyiszor, ahany darab van, es azokra illessze be az adatokat, mit kellene hozza atirni?
Új hozzászólás Aktív témák
Hirdetés
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- 27%-OS ÁFÁS SZÁMLA I Jogtiszta Microsoft digitális és fizikai termékek I DIGITALKEYZ.COM
- Bontatlan - BATTLEFIELD 1 Collectors Edition - Játékszoftver nélkül
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Sea of Thieves Premium Edition és Egyéb Játékkulcsok.
- Bomba ár! HP EliteBook Folio 1040 G2 - i5-G5 I 8GB I 256GB SSD I 14" HD+ I Cam I W10 I Garancia!
- Tablet felvásárlás!! Samsung Galaxy Tab A8, Samsung Galaxy Tab A9, Samsung Galaxy Tab S6 Lite
- ÁRGARANCIA!Épített KomPhone Ryzen 5 5600X 16/32/64GB RAM RX 7600XT 16GB GAMER PC termékbeszámítással
- Samsung Galaxy A13 64GB, Kártyafüggetlen, 1 Év Garanciával
- AKCIÓ! nVidia Quadro P4000 8GB GDDR5 videokártya garanciával hibátlan működéssel
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest