- bambano: Bambanő háza tája
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sh4d0w: Én és a számítógép
- Mr Dini: Mindent a StreamSharkról!
- Luck Dragon: Asszociációs játék. :)
- eBay-es kütyük kis pénzért
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Magga: PLEX: multimédia az egész lakásban
-
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
-
sedyke
tag
Van egy táblázatom, melyben a J oszlopban termékkódok vannak.
Képlettel szeretném egy másik oszlopba kategorizálni őket, minden kiegészítő kódja A vagy N betűvel kezdődik, a ruhák kódja pedig számokból áll.Milyen képletet lehet csinálni, hogy az A vagy N betűvel kezdődők mellé írja, hogy kiegészítő, míg a többi mellék, hogy ruha?
-
Delila_1
veterán
-
mdk01
addikt
Sziasztok,
Korábban volt már szó a mentés közbeni megosztás ütközésről, de nem találtam rá megoldást, vagy okot amin eltudnék indulni.
Eddig a 2007-es volt fent azt hittem annak a hülyesége, de most a 2010-zel is ezt csinálja.
A 2010 annyival intelligensebb, hogy küld egy hibaüzit amin már talán ellehet indulni, már aki érti, én nem.<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
<logFileName>error057560_01.xml</logFileName>
<summary>Hiba a fájlban (D:\NAS\Proline\2015\2015.09.24_A15054\!_Szállítási_táblázat_09.24.xls)</summary>
- <additionalInfo>
<info>A fájl olyan súlyosan sérült, hogy a javítás nem lehetséges. Az Excel megkísérelte menteni a képleteket és az értékeket, de lehetséges, hogy az adatok egy része elveszett vagy megsérült.</info>
</additionalInfo>
</recoveryLog>Elmentéskor egy betűkből és számokból álló fájlt hoz létre.
Nem értem miért sérül meg, vagy mi történik amikor ezt elkezdi csinálni.
A mentést, mint az látszik egy NAS szerver könyvtárába végzi ami szinkronizálja magát. Másoknál nincs megnyitva ez a fájl, hogy ez zavarja, meg ha meg is van nyitva akkor is elmenti egy külön fájlba amit a fájlnévben jelöl.
Más programok mentésekor sincs ilyen probléma.
Továbbá úgy vettem észre random módon csinálja, és a 2007-esben, van hogy többszöri mentés indítás után sikerült elmenteni. volt hogy másodszorra, de volt hogy hatodszorra.
Bármi kérdésetek van válaszolok, de nagyon zavaró ez így és kérném a segítségeteket.
Köszönöm -
TrollBalint
addikt
Hello,
Tud valaki segíteni olyanban, hogy miért nem működik az excelben a dátum beillesztés billentyű kombinációval? Az excel angol, a windows is, de a területi beállítások stb. már magyarra van állítva. A net szerint a ctrl+;-vel mennie kellene, de nem megy. Kipróbáltam otthon is, a magyar excelben, ott ctrl+0-ra beilleszti simán, de itt a cégnél ez se működik, helyette elrejti az adott oszlopot.
Az idő-beillesztés viszont megy ( ctrl+shift+: )-tal -
Fferi50
Topikgazda
válasz
boomkat88 #28690 üzenetére
Szia!
Szerintem nem kell a közbenső táblázat és kézi munka sem nagyon...
Csinálj fejléceket a 3 oszlopnak (én hely, db és kód szöveget adtam meg).Ezután csináltam egy kimutatást az alábbiak szerint:
Menüszalag beszúrás, kimutatás
Oszlopcimkék a kód, sorcimkék a hely és db, értékek a db. Ekkor megkapod a 3. tábla szerinti állapotot - azzal a különbséggel, hogy a "db" mező értéke is látszani fog a "hely" mellett.
A "hely" mező értékére megadhatod, hogy ne összegezzen, így a zavaró összesítő sorok eltűnnek. Az op2 mezőt összecsukhatod és akkor egymás mellett lesz a két érték (és ezt minden olyan sorcimkével megteheted, amelyben egy oszlopcimkéhez egy adat tartozik.
Végül az egész kimutatás sor és oszlop összegzését letilthatod, ha zavarónak találod.
Ráadásul a db sorcimkét tartalmzó oszlopot el is rejtheted.
Úgy gondolom ez gyorsan megoldja a gondjaidat.Üdv.
-
boomkat88
újonc
válasz
Delila_1 #28675 üzenetére
Igen a képlet az működik, de közben észrevettem, hogy itt-ott tényleg kerülhet egy cellába több adat és nekem azokat manuálisan külön sorokba kell majd írnom, de ha összeadja, akkor nem tudom abból hogy mit adott össze és vissza kellene keresnem, de az sok idő, mert nagy a táblázat. Ezért jó lenne látnom ha egy cellába nem két adat összege kerül, hanem a két adat külön-külön. FKERES-t a VKERES-el nem lehet valahogy kombinálni?
-
RedHarlow
aktív tag
Sziasztok az alábbi dologra szeretnék egy függvényt találni.
[A oszlop] [B oszlop] [C oszlop]
tomisakalakak@gmail.com tomis FüggvénySzeretném, ha a "tomis" alapján A oszlopban megtalálná a tomisakalakak@gmail.com-ot és kiírná a c oszlopba. A lényeg hogy az a oszlopban 1000 e-mail cím van teljesen összekeverve és a B oszlopban kb 20db 5 karakterre leszűkített e-mail. Tudni szeretném mely 20 e-mail címre van tehát szükségem.
-
Delila_1
veterán
válasz
antikomcsi #28680 üzenetére
Akkor lesz egy nagyon vidám, hosszú képleted. Ha-Ha-Ha. Ha az első lapon hibára fut az fkeres (mert nincs találat), akkor fkeres(2.lapon), ha ez is hibás, fkeres(3.lapon), stb.
Közben összeállítottam a képletet. A lapjaim neve első, más, har, negy.
=HAHIBA(FKERES(E2;első!A1:L126;12;0);HAHIBA(FKERES(E2;más!A1:L126;12;0);HAHIBA(FKERES(E2;har!A1:L126;12;0);HAHIBA(FKERES(E2;negy!A1:L126;12;0);""))))
-
antikomcsi
veterán
Lejárt a szerkesztés, elnézést.
A 12. oszlop az az L, nem a J, ezt elírtam az előzőben.
-
antikomcsi
veterán
válasz
Delila_1 #28677 üzenetére
Szia!
Köszönöm!
Nem, nem összegezni szeretném. Azt szeretném, ha az E2 tartalmának megfelelően keresne a különböző munkalapokon.
Minden munkalapról az A oszlopból kerül be az érték a Munka1 E2 cellába, és a J oszlopból keresi a hozzá valót, amit Munka1 E5-be ír be.
Hidraulika_Tömlő lapon
A10 cella mondjuk 1sn és J10 cella mondjuk 1
míg Mosó_Tömlő lapon
A10 cella 2sn és J10 cella 2
Akkor ha a Munka1 E2-ben 1sn szerepel, akkor E5-be irja be, hogy 1
ha viszont E2-ben 2sn szerepel, akkor E5-be azt írja, hogy 2A vége az lesz, hogy inkább csinálok pár ezer soros lapokat.
-
Delila_1
veterán
válasz
Snoop-y #28671 üzenetére
A D1 cellába beírja az összeget, szűrt állományban is.
Sub valami()
Dim ter As Range, CV As Range, osszeg
Set ter = Columns(1).SpecialCells(xlCellTypeVisible)
For Each CV In ter
If CV.Row > 1 And Cells(CV.Row, "B") > "" Then osszeg = osszeg + CV
Next
Range("D1") = osszeg
End Sub -
Delila_1
veterán
Ezzel rendbe teheted
Sub Athelyez()
Dim sor As Long
sor = 1
Do While Cells(sor, "A") <> ""
Cells(sor, "B") = Cells(sor + 1, "A")
Cells(sor, "C") = Cells(sor + 2, "A")
Cells(sor, "D") = Cells(sor + 3, "A")
Rows(sor + 1 & ":" & sor + 3).Delete Shift:=xlUp
sor = sor + 1
Loop
End Sub -
Delila_1
veterán
válasz
antikomcsi #28674 üzenetére
Amennyiben számok vannak a 12. oszlopban, és ezeket összegezni akarod, akkor
=FKERES(E2;Hidraulika_Tömlő!A1:L126;12;0)+FKERES(E2;Mosó_Tömlő!A1:L126;12;0)+...
-
antikomcsi
veterán
Sziasztok!
A múltkori kapott segítséggel szépen haladok, most jutottam el a következő problémáig, ebben szeretnék megint segítséget kérni.
Visszakerestem a topikban és láttam, hogy már volt erről szó, de sajnos nem sikerül az alapján megoldani a dolgot.
FKERES függvénnyel szeretnék több munkalapon kerestetni.
A függvény a Munka1 lap E2 cellája alapján keres, és szépen működik is, de csak a képletben szereplő munkalapon nyilván. Azt szeretném, hogy ehhez még tudjak adni több munkalapot.
A munkalapok megegező struktúrájúak, a keresési tartomány megegyezik.
Ezt a képletet használom:
=FKERES(E2;Hidraulika_Tömlő!A1:L126;12;0)A Hidraulika_Tömlő az egyik munkalap neve, és ezt szeretném még kibővíteni mondjuk, Mosó_Tömlő, Kompresszor_Tömlő, stb. nevű munkalapokkal!
Köszönöm!
-
atike
nagyúr
Sziasztok!
Van arra valami bejáratott módszer, hogy szövegfile-t (TXT) szeretnék Excelbe táblázatos formában átrakni úgy, hogy a szövegfileban egy rekord egy sor? Azaz 4 különböző mezőérték, rekord ismétlődik soronként....
Lásd:
név1
122.122.132.133
acd0
egy
név2
122.122.131.131
acdddd
egy
név3
122.122.134.135
acd34f
kettő
...Sajnos a program, amiből át kellene rakni táblázatos formába az adatokat csak így exportálja... Valami ötlet...?
-
Snoop-y
veterán
válasz
Snoop-y #28666 üzenetére
Erre esetleg valaki?
Osszeszedem akkor hogyan is nezne ki:
A oszlop szamait kellene osszegezni ugy hogy csak azokkal szamolunk ami mellett a B oszlop cellaja nem ures viszont ha filterezek akkor is a helyes osszeget mutassak
( A SUMIF/SZUMHA fuggveny mindig a teljeset (termeszetesen a B oszlop kriteriumot figyelembe veve ) mutatja akkor is ha filterezek )
-
Snoop-y
veterán
válasz
Delila_1 #28656 üzenetére
Koszonom szepen
akkor hogy megis ravasz legyen:
Meg lehet ezt csinalni ugy hogy ha filtereznek akkor csak a megjelent sorokat szamolja? Termeszetesen most is ervenyes az hogy ha ures a mellette levo B oszlop akkor azt ne szamoljuk.
Filternel a subtotal tud ilyet ha jol emlekszem de azzal valahogy nem akar osszejonni az ures cellas kitetel
-
boomkat88
újonc
Nagyon köszönöm az eddigi segítséget. A következő lenne egy időre az utolsó kérdésem:
Mint a csatolt képen, a jobb oldali táblázatot szeretném feltölteni a megfelelő adatokkal a bal oldali listák segítségével. Pl. a 23-as szám oda kerüljön, ahol a nyíl mutatja.
Milyen függvénykombinációval tudok úgy keresni, hogy két értéket is keresek két külön oszlopban (kék és rózsaszín) és ahol egyezés van, ott a "metszetet" dobja ki eredményül.?Persze bocsánat a kis rajzomon véletlenül egy cellába több érték is bekerülhet, az eredeti táblázatomban nincs ilyen hiba, de ez a megoldáson nem változtat. Köszi
-
elttiL
senior tag
válasz
m.zmrzlina #28651 üzenetére
Köszönöm szépen!
A holavege = Range("A" & Rows.Count).End(xlUp).Row verzió működött egyedül. De nekem megfelel.
A többinél runtime error 13 type mismacska hibaüzi volt. Még 1x köszönöm -
Delila_1
veterán
válasz
szőröscica #28660 üzenetére
Kicsit gyorsítva az előbbi (törli a sorokat, ahol bármelyik oszlopban szerepel a q vagy az r):
Sub Osszemasolas()
Dim FN As String, utvonal As String, WS As Worksheet
Dim hova As Long, WF As WorksheetFunction, vege As Long, sor As Long
Dim tabla As Range
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set WS = ActiveWorkbook.ActiveSheet
Set WF = Application.WorksheetFunction
utvonal = "F:\Eadat\Tmp\" 'fájlok útvonala, írd át
FN = Dir(utvonal & "*.xlsx") '2007-es előtti verziónál xls-re írd át
Do While FN <> ""
hova = WF.CountA(Columns(1)) + 1
Workbooks.Open utvonal & FN
Sheets("Data").Select
Range("A1").Select
Set tabla = Cells.CurrentRegion
tabla.Offset(1, 0).Resize(tabla.Rows.Count - 1, tabla.Columns.Count).Copy
WS.Cells(hova, "A").PasteSpecial Paste:=xlPasteAll
Windows(FN).Close False 'Zárja a megnyitott fájlt mentés nélkül
vege = WF.CountA(Columns(1))
For sor = hova To vege
If WF.CountIf(Rows(sor), "q") > 0 Or WF.CountIf(Rows(sor), "r") > 0 Then
Rows(sor).Delete shift:=xlUp
End If
Next
FN = Dir()
Loop
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.DisplayAlerts = True
MsgBox "Kész", vbInformation
End Sub -
Delila_1
veterán
válasz
szőröscica #28660 üzenetére
Nem kell külön beolvastatni a fájlneveket, majd másolni, végül törölni a felesleges sorokat. Az alábbi makró mindegyik műveletet elvégzi.
Két dolgot kell átírnod benne, az útvonalat, ahonnan a fájlokat behívod, és a kiterjesztést, ha 2007-es verziónál régebbi Excelt használsz.
Sub Osszemasolas()
Dim FN As String, utvonal As String, WS As Worksheet
Dim hova As Long, tabla As Range, CV As Object
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set WS = ActiveWorkbook.ActiveSheet
utvonal = "F:\Eadat\Tmp\" 'fájlok útvonala, írd át
FN = Dir(utvonal & "*.xlsx") '2007-es előtti verziónál xls-re írd át
Do While FN <> ""
hova = Application.WorksheetFunction.CountA(Columns(1)) + 1
Workbooks.Open utvonal & FN
Sheets("Data").Select
Range("A1").Select
Set tabla = Cells.CurrentRegion
tabla.Offset(1, 0).Resize(tabla.Rows.Count - 1, tabla.Columns.Count).Copy
WS.Cells(hova, "A").PasteSpecial Paste:=xlPasteAll
Windows(FN).Close False 'Zárja a megnyitott fájlt mentés nélkül
For Each CV In Selection
If CV = "q" Or CV = "r" Then Rows(CV.Row).Delete
Next
FN = Dir()
Loop
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.DisplayAlerts = True
MsgBox "Kész", vbInformation
End Sub -
poffsoft
veterán
válasz
szőröscica #28660 üzenetére
szia,
ha jól értettem:Sub pasteall()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim PL, files As Variant
Dim i, j As Long
Dim k, l, m, n As Long
Dim wbname As String
Dim rng As Range
Dim rw As Range
Dim cell As Range
' select this workbook and clear all the input sheets
wbname = ThisWorkbook.Name
Workbooks(wbname).Activate
Sheets("Data Sheet").Activate
Range("D4:U1000000").ClearContents
'copy data
For i = 1 To Range("WorkbookCount").Value
workbookpath = Range("Workbook_Name_Header").Offset(i, 0)
PL = Range("Desk_Name_Header").Offset(i, 0)
files = Range("File_Name").Offset(i, 0)
Workbooks.Open (workbookpath)
Sheets("Data").Activate
Range("A65000").Select
Selection.End(xlUp).Select
l = Selection.Row
Range("A2:W" & l).Select
Selection.Copy
Workbooks(wbname).Activate
Sheets("Data Sheet").Activate
Range("A1035000").Select
Selection.End(xlUp).Select
Selection.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
'Uj resz
Set rng = Selection
For Each rw In rng.Rows
rw.Select
Set cell = Selection.Find(What:="q", After:=Selection(1, 1), LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If Not cell Is Nothing Then
Selection.EntireRow.Delete
Else
Set cell = Selection.Find(What:="d", After:=Selection(1, 1), LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If Not cell Is Nothing Then Selection.EntireRow.Delete
End If
Next
' Uj resz vege
Application.CutCopyMode = False
Workbooks(files).Activate
ActiveWorkbook.Close
Next i
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End SubNem teljesen dolgoztam fel, mit is csinál a makród, de ezek a címzések picit bonyolultnak tűnnek a range-k-hez...
-
szőröscica
addikt
Sziasztok!
Van egy makróm, amit arra használok, hogy egy mappában szereplő összes xls tartalmát behúzza egyetlen sheetre. Először egy másik makróval kilistáztatom az összes fájlt ami az adott mappában van, majd futtatom az alul találhatót.
Tudnátok segíteni abban, hogy hogyan tudnám módosítani olyan módon, hogy miután egy fájlból bemásolta az összes sort, törölje ki azokat a sorokat, amiknek bármelyik (vagy ha így nem lehet, akkor I és M oszlopban) cellájában q vagy r szerepel.
Azért lenne erre szükségem, mert 16-17 ezer sorosak a fájlok, amiket importál a makró, viszont mindegyiknek körülbelül harmadában szerepel q vagy r érték, amelyek számomra haszontalan adatok, így rengeteg helyet spórolhatnak (közel vagyok az 1 millió sorhoz, és ha azt túllépem, nem másolja tovább a makró dolgokat).
Az alábbi makrót használom az importálásra. Segítenétek módosítani?
Köszönöm szépen.
Sub pasteall()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim PL, files As Variant
Dim i, j As Long
Dim k, l, m, n As Long
Dim wbname As String
' select this workbook and clear all the input sheets
wbname = ThisWorkbook.Name
Workbooks(wbname).Activate
Sheets("Data Sheet").Activate
Range("D4:U1000000").ClearContents
'copy data
For i = 1 To Range("WorkbookCount").Value
workbookpath = Range("Workbook_Name_Header").Offset(i, 0)
PL = Range("Desk_Name_Header").Offset(i, 0)
files = Range("File_Name").Offset(i, 0)
Workbooks.Open (workbookpath)
Sheets("Data").Activate
Range("A65000").Select
Selection.End(xlUp).Select
l = Selection.Row
Range("A2:W" & l).Select
Selection.Copy
Workbooks(wbname).Activate
Sheets("Data Sheet").Activate
Range("A1035000").Select
Selection.End(xlUp).Select
Selection.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Workbooks(files).Activate
ActiveWorkbook.Close
Next i
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub -
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 -
poffsoft
veterán
válasz
m.zmrzlina #28657 üzenetére
Igen, találtam közben róla valamit.
RANGE-nel maradva a selection + cutcopymode lesz a megoldás.
Csak sajna ez más objecteket (diagram) lenyel...
persze most jobban belegondolva, lehet hogy a selection "visszaállítása" is elég lesz. -
m.zmrzlina
senior tag
válasz
poffsoft #28655 üzenetére
Az XP-ig része volt a windowsnak egy clipboard viewer de ez úgy tudom a win7-től már nincs. Gondolom vannak ingyenes külső programok a neten erre a célra.
A képet nem tudom milyen formában akarod használni de a szokványos cellatartalmat a szokványos módon lehet hozni-vinni. A teljes sor is egy Range
-
poffsoft
veterán
válasz
m.zmrzlina #28653 üzenetére
És ha pl. éppen teljes sorok, vagy range van benne, esetleg kép?
egyáltalán hogyan érem el a clipboardot? -
Snoop-y
veterán
Sziasztok,
Fogos ravasz kerdes:
Van ket oszlop.
A oszlopban minden sorban vannak szamok. B oszlopban elkepzelheto hogy az adott sorban nincsen.
Ossze kene adni a szamokat A oszlopban ugy hogy azokat a szamokat ki kell hagyni amik mellett B oszlopban nincsen szam.
-
poffsoft
veterán
Arra tudtok-e megoldást, hogy ha a makróm elején ki kell ürítenem a vágólapot, annak a tartamát hogyan tudnám visszaírni a vágólapra a makró végén?
-
m.zmrzlina
senior tag
válasz
elttiL #28650 üzenetére
Akkor még egy javítás. Ha a :
holavege = Range("A:A").Find(What:="beillesztési pont", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Row
változatot választod akkor a "beillesztési pont" részt írd át "XXX"-re. Én azt gondoltam, hogy a beillesztési pont maga a cellaérték. Nyilván ezt nem fogja megtalálni ha XXX-szel van megjelölve a vége.
Még egy dolog: ha aaz XXX minden esetben az utolsó sorban van akkor a
holavege = Range("A" & Rows.Count).End(xlUp).Row
változat is működik.
-
elttiL
senior tag
válasz
m.zmrzlina #28647 üzenetére
Köszönöm a fáradozást. A tök üres táblát úgy értettem, hogy nyitottam egy teljesen üreset, hogy próbálgassam. Beírtam A oszlopba valahova a keresendő szöveget. Így próbáltam.
Biztos rosszul fogalmaztam. Egyszerűsítsünk: beillesztési pont=xxx Az A oszlopban tetszőleges helyen lehet az xxx. A vágólapra kitett táblázat: beillesztés után a bal felső cellájának a helyének kell lennie az xxx-et tartalmazó cellának (tehát felülírjuk a beillesztett táblával).A beillesztett táblázat utolsó A oszlop eleme az xxx tartalom. Így az új beillesztett táblázat beilleszthető arra pontra. (és csak egy darab xxx tartalmú cella lesz az A oszlopban.
Z
Update: Nem, Te segítőkész vagy.csekkolom a patch-et...
-
m.zmrzlina
senior tag
válasz
elttiL #28644 üzenetére
Bocs én voltam a béna.
A:
holavege = Selection.Find(What:="beillesztési pont", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Rowsor helyesen így néz ki:
holavege = Range("A:A").Find(What:="beillesztési pont", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Row
Ekkor nem az aktuális kijelölésben keres hanem az A oszlopban.
-
m.zmrzlina
senior tag
válasz
m.zmrzlina #28647 üzenetére
De ha így próbálod meghatározni az utolsó sort az is működhet.
Sub beilleszt()
holavege = Range("A" & Rows.Count).End(xlUp).Row
Worksheets("Munka1").Range("A" & holavege).PasteSpecial Paste:=xlPasteAll
End SubEz persze csak akkor működik, ha a Beillesztési pont mindig az A oszlop legutolsó cellájában van.
-
m.zmrzlina
senior tag
válasz
elttiL #28644 üzenetére
Ez volt az eredeti kérdésben:
A cellába be van írva, hogy "Beillesztési pont". Ez az A oszlopban bárhol lehet, ide kerül beillesztésre a vágólapon levő tábla
Ez a mostani állapot:
Töküres táblában próbáltam ki,
Azért akad ki mert a töküres táblában sehol nem találja a "Beillesztési pont" cellaértéket.
Azt írod:
no ennek a vágólapon levő táblának az utolsó A oszlopos cellája ugyancsak tartalmazza a "Beillesztési pont" tartalmat,
Írd be az üres táblába A1-be hogy "Beillesztési pont" /kisbetű-nagybetűre figyelj!!!/ és úgy próbáld. Az első beillesztett tartalom után ez már nem fog problémát okozni.
-
elttiL
senior tag
válasz
szatocs1981 #28645 üzenetére
Már igen.
Annyit tesz, hogy bemásolja a vágólapon levő dolgot A oszloptól kezdődően, de abba a sorba, ahol a kijelölésem van, nem keresi meg az A oszlopban a xxx tartalmú cellát.
-
elttiL
senior tag
válasz
m.zmrzlina #28643 üzenetére
Köszönöm. De nekem hibát ad. Vélhetően azért, mert VB-hez nem konyítok. Kicsit sem.
Töküres táblában próbáltam ki, munkalap neve Munka1, A oszlopba akárhova beírva amire keresnénk, de elhasal a
holavege = Selection.Find(What:="beillesztési pont", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Row
sornál. Run-time error '91': Object variable or With block variable not set
Nyilván érti az aki ebben mozog, sajna én nem. -
m.zmrzlina
senior tag
válasz
elttiL #28634 üzenetére
Próbáld ezt:
Sub beilleszt()
holavege = Selection.Find(What:="beillesztési pont", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Row
Worksheets("Munka1").Range("A" & holavege).PasteSpecial Paste:=xlPasteAll
End SubTermészetesen a Munka1 helyére írd a saját munkalapod nevét!
-
Snoop-y
veterán
Sziasztok,
Olyan kerdesem lenne hogy a Conditional formatban megadott fuggvenyeket lehet hasonloan masolni mint pl egy normal fuggvenyt? ( itt arra gondolok hogy ha a fuggvenyben az A1-re hivatkozunk mikor lejjebb huzom automatikusan az A2-re fog hivatkozni )
-
tam@s
tag
Köszönöm, hogy szakítottál rám időd, és energiát, remélem, egyszer visszaadhatom!
Üdv.:
Tamás -
m.zmrzlina
senior tag
Sőt így talán jobb mert a nullával való osztás nem okoz problémát ha nincsen kitöltve a dbszám/doboz oszlop.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row >= 4 And Target.Row <= 11 Then
Application.EnableEvents = False
If Target.Column = 2 Then
Cells(Target.Row, 4).Value = Cells(Target.Row, 2).Value / 1.044
On Error Resume Next
Cells(Target.Row, 6).Value = Cells(Target.Row, 2).Value / Cells(Target.Row, 5)
ElseIf Target.Column = 4 Then
Cells(Target.Row, 2).Value = Cells(Target.Row, 4).Value * 1.044
On Error Resume Next
Cells(Target.Row, 6).Value = Cells(Target.Row, 2).Value / Cells(Target.Row, 5)
ElseIf Target.Column = 6 Then
Cells(Target.Row, 2).Value = Cells(Target.Row, 6).Value * Cells(Target.Row, 5)
Cells(Target.Row, 4).Value = Cells(Target.Row, 2).Value / 1.044
End If
Application.EnableEvents = True
End If
End Sub -
Sátán44
addikt
Sziasztok!
Van egy névlistám 470 emberrel.
Pl:
Kiss István
Nagy Emmailyen formát szeretnék belőle csinálni:
kiss.istván. itt a végén a pont fontos lenne. -
m.zmrzlina
senior tag
Le kell tiltani az eseménykezelést:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row >= 4 And Target.Row <= 11 Then
Application.EnableEvents = False
If Target.Column = 2 Then
Cells(Target.Row, 4).Value = Cells(Target.Row, 2).Value / 1.044
Cells(Target.Row, 6).Value = Cells(Target.Row, 2).Value / Cells(Target.Row, 5)
ElseIf Target.Column = 4 Then
Cells(Target.Row, 2).Value = Cells(Target.Row, 4).Value * 1.044
Cells(Target.Row, 6).Value = Cells(Target.Row, 2).Value / Cells(Target.Row, 5)
ElseIf Target.Column = 6 Then
Cells(Target.Row, 2).Value = Cells(Target.Row, 6).Value * Cells(Target.Row, 5)
Cells(Target.Row, 4).Value = Cells(Target.Row, 2).Value / 1.044
End If
Application.EnableEvents = True
End If
End Sub -
-
tam@s
tag
válasz
m.zmrzlina #28623 üzenetére
Nagyon szépen köszönöm, de sz még mindig megakadok vele valahogy, kérnék még egy kis segítséget.
Átalakítottam a makródat a következőképpen:Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row >= 4 And Target.Row <= 11 ThenIf Target.Column = 2 Then
On Error Resume Next
Cells(Target.Row, 4).Value = Cells(Target.Row, 2).Value / 1.044
Cells(Target.Row, 6).Value = Cells(Target.Row, 2).Value / Cells(Target.Row, 5)ElseIf Target.Column = 4 Then
On Error Resume Next
Cells(Target.Row, 2).Value = Cells(Target.Row, 4).Value * 1.044
Cells(Target.Row, 6).Value = Cells(Target.Row, 2).Value / Cells(Target.Row, 5)ElseIf Target.Column = 6 Then
On Error Resume Next
Cells(Target.Row, 2).Value = Cells(Target.Row, 6).Value * Cells(Target.Row, 5)
Cells(Target.Row, 4).Value = Cells(Target.Row, 2).Value / 1.044End If
End IfEnd Sub
Végtelen loopba kerülök...
A táblázatról:
8 termk egymás alatt
2 oszlop a nagyker ár
4 oszlop a termelői ár
5 oszlop azt mutatja, hogy egy dobozban hány tabletta van
6 oszlop az egy tablettára jutó nagyker ár ----> itt a gond, mert ha ezt is beleírom, akkor visszaírja a nagyker árat, és lefagy.
Innen még lenne 5 oszlop, amit oda vissza kellene írni, de csak addig megy, amíg vissza nem számoltatok egy olyan cellát, amelyik szerepel a "ElseIf Target.Column = XX" feltételnél, és akkor vége.Nem lehet valahogy leállítani, hogy ne számolja újra, hanem csak azt, ami az adott IF részfeltételben van?
Bocs, ha nem voltam szakszerű, közgazdász vagyok, ez a 2. makró életemben...
Köszi minden segítséget előre is!
Üdv.:
Tamás -
elttiL
senior tag
Üdv! A következőt szeretném megoldani. Kirakok vágólapra egy táblázatot, képletekkel, formázással stb. ezt kellene úgy beillesztenem egy pontra, hogy az a cella legyen az első cellája a beillesztett táblázatnak az a pont ahol egy feltétel teljesül. A cellába be van írva, hogy "Beillesztési pont". Ez az A oszlopban bárhol lehet, ide kerül beillesztésre a vágólapon levő tábla; no ennek a vágólapon levő táblának az utolsó A oszlopos cellája ugyancsak tartalmazza a "Beillesztési pont" tartalmat, így a következő táblázat beszúrásánál megvan az új pont ahova be kellene illeszteni. Mindenzt szépen makróban, és az első rögzített sorban lenne egy vezérlő billentyű, ami a makrót indítaná.
-
Delila_1
veterán
válasz
boomkat88 #28624 üzenetére
Sub Dupla()
Dim sor As Long, usor As Long
Application.ScreenUpdating = False
usor = Range("A1").End(xlDown).Row
usor = usor * 2
For sor = 2 To usor Step 2
Cells(sor, "A").Select
Selection.EntireRow.Insert
Cells(sor, "A") = Cells(sor - 1, "A")
Next
Application.ScreenUpdating = True
End Sub -
boomkat88
újonc
Köszönöm.
És hogyan tudnám egy oszlop minden elemét duplázni?
Például:
34
57
89
23
adatsorból keletkezne az, hogy:
34
34
57
57
89
89
23
23
Így kellene egy hosszú adatsort dupláznom. -
m.zmrzlina
senior tag
Próbáld ki ezt:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row >= 3 And Target.Row <= 12 Then
If Target.Column = 7 Or Target.Column = 8 Then
On Error Resume Next
Cells(Target.Row, 9).Value = Cells(Target.Row, 7).Value * Cells(Target.Row, 8).Value
Exit Sub
ElseIf Target.Column = 9 Then
On Error Resume Next
Cells(Target.Row, 8).Value = Cells(Target.Row, 9).Value / Cells(Target.Row, 7).Value
Exit Sub
End If
End If
End Sub -
tam@s
tag
válasz
m.zmrzlina #28618 üzenetére
Nagyon szépen köszönöm, holnap brillírozok a munkahelyemen vele, bár a főnököm szerintem nem is érti, hogy miért probléma ez...
Van ötleted esetleg, hogy ezt át tudom-e alakítani 10 db egymás alatti termékre? Tehát 3. sor, 4. sor...12. sor?
Átírom a makrót már ez alapján, csupán elméletileg kérdezem, ha egyszer szükségem lesz rá.Óriási segítség, tényleg köszönöm!
Üdv.:
Tamás -
-
boomkat88
újonc
Excelben hogyan számolom meg egy oszlopban az azonos elemeket?
Tehát van 1700 db elemem, számok. De kb. 100-200 féle szám van az oszlopban összvissz. Milyen függvénnyel mondom meg, hogy hányféle egyforma elemet tartalmaz az oszlopom (valahol 100 és 200 között lesz az eredmény) anélkül, hogy fel kellene sorolnom az összes típust. Szóval a "darabhatöbb" nem jó.
Például az
45
45
52
45
52
36megoldása az lenne, hogy 3, mert 3 féle számot tartalmaz.
-
m.zmrzlina
senior tag
Elsőre az alábbi Móricka megoldás jutott eszembe:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$G$3" Or Target.Address = "$H$3" Then
Range("I3").Value = Range("G3").Value * Range("H3").Value
Exit Sub
ElseIf Target.Address = "$I$3" Then
Range("H3").Value = Range("I3").Value / Range("G3").Value
Exit Sub
End If
End SubG3-ban van az ár, H3-ban a darabszám, I3-ban pedig az árbevétel. Ha az árbevételt változtatod akkor az árat fixnek tekinti és a darabszámot adja meg ami az adott áron "belefér" a keretbe.
A makrót az adott munkalaphoz kell rendelni amin a kérdéses cellák vannak és .xlsm-ként elmenteni.
Rémlik még valami Célérték keresés nevű dolog az excelben ami ilyesmire való de azt én még nemigen használtam.
-
spe88
senior tag
válasz
Delila_1 #28597 üzenetére
Igen ezt akartam elkerülni, mert rengeteget kéne egyenként kijelölni kb 20000 elemből 3000-ret ezért lett volna jó valami shiftes megoldás... elég fura, hogy ezt nem tudja az Excel szűrésnél, de megoldom másként...
másikra tudnátok válaszolni:
Azt meg lehet valahogy nézni, hogy egy adott cella adatait egy másik cella használja-e? Tovább táplálkozik-e egy képlet belőle?
pl.: A1-A100 tartományban vannak értékek és ha azt kitölröm az Excel percek alatt áll helyre, mert valószínű, hogy számol velük valahol máshol, csak már nem tudom hol, mert elég bonyolult a fájl...
Köszi
-
-
tam@s
tag
Sziasztok!
Egy kis segítséget kérnék, már széttúrtam a netet, de nem találtam megoldást az elvileg egyszerű problémámra.
Egy kalkulátort kell készítenem, amelyik oda-vissza számolja a cellákat.
Ár (Ft/db)
mennyiség (db)
Árbevétel (Ft)A lényeg, hogy ha bármelyik cellát átírom, akkor a másik kettő újraszámolódjon.
Az árat még úgy-ahogy tudom fixen, már az is segítség lenne, hogy ha valaki megmondaná, hogy az oda-vissza írás két cella között hogyan lehetséges. Jó lenne excelben, mert ezekre utána hivatkozik még sokminden, de ha van valamilyen más ötlet, az is jó lehet.Bármilyen segítséget nagyon köszönök!
-
dudu_14
újonc
Sikerüüült!
Köszi még egyszer a gyors megoldást
-
Zola007
veterán
megöl ez az alsó-felső index
ha csinálok egy egyéni cellaformázást
pl: 0" g/cm3"
azt meg lehet oldani, hogy a 3-as szám felső indexben legyen?
nincs kedvem mindegy egyes cellába külön beleírniegyébként találtam olyan plugint ami hozzáadja az excelhez az alsó-felső index gombokat, de persze 64 bittel nem működik. Hátha valakinek jó lesz 32 bitre: [link]
-
elttiL
senior tag
válasz
Delila_1 #28608 üzenetére
Nem. Lehet hogy 1 nap 4 brigád dolgozik, az embereknek arra a napra kell teljesítménybéres időt számolni, Ha összevonok, akkor bukta az egész. A fapados HA fgv-ek tömkelegével kellene valamit kezdenem. Mondjuk csak annyi képletet csinálni, ami szükséges.
De ezt még át kell gondolnom, igazából így is a finisben vagyok a táblázattal, csak ez a dögsok képlet miatti lassulás tett be, de ez nagyon.
Nyilván meg lehet egyszerűbben, frappánsabban csinálni. -
bafni
újonc
Sziasztok!
Adott ".csv" fájlt szerkesztenék excellel, aminek az elején van 5 üres oszlop. Mentéskor (természetesen ".csv" formátumba) azonban ezek az oszlopok eltűnnek, holott a pozícionálás miatt ezekre szükség van.
Kérem ha valaki tud rá megoldást ossza meg velem.
Előre is köszi. -
elttiL
senior tag
válasz
Delila_1 #28606 üzenetére
Köszönöm a tippet. A sok függvény egyszerű HA függvény, ez nem egy megeröltető fgv. szerintem, csak a mennyiség a gáz.
Nem untatásként: 20000-soros az alap táblázat, erre 400 (ez azért bazisok, csökkentem szerintem, mert életszerűtlen...) munkalap vihető fel (kb 50 sor/munkalappal számoltam.) 6 különböző dolgozó lehet egy munkalapon. A sok képletes lapon vizsgálom meg, hogy melyik dolgozó mit ténykedett. Érvényesités listából kiválasztom az ember nevét. és a 20000-res listát végignézetem, gyakorlatilag 20000 soron keresztűl ugye, hogy 1. dolgozóként szerepel-e a név, HA függvénnyel megjelennek a sor tételei (dátum, munkalapszám, kivel dolgozott abban a sorban stb. (ez 14 db adat soronként) aztán megnézem, hogy 2. dolgozóként szerepel-e aztán 3. ként stb. 6-ig. Szép foghíjas táblázatot kapok (6*20000 soros 14 oszlopos táblázatot kapok, ezt egyszerű szűréssel (ahol az üres sorokat eltüntetem) összefüggő listává teszem. Kigondoltam, megcsináltam, működik, csak elég labilis mentéseknél, frissítésnél a táblázat. -
Delila_1
veterán
válasz
elttiL #28605 üzenetére
Hát, nem sok köszönet van benne.
Próbáld meg, hogy az un. volatilis függvények helyett mást alkalmazz. Pl. az INDIREKT kiváltható az INDEX(HOL.VAN) párossal.Néhány volatilis függvény itt van felsorolva.
-
elttiL
senior tag
válasz
Delila_1 #28602 üzenetére
Ez így igaz. De az komplett kikapcsolja a számítást. de nekem csak a bazisok képletes munkalapon kellene kikapcsolnom, a többi "fül"-ön számolnia kellene. A makrót csak azért akarom, hogy a táblázaton egy gombra rákattintva megtörténjen. Egyébként is van egy gomb a frissítéshez (ahol az üres sorokat eltüntetem a táblázatból), és egy lista alapállapotba hozás gomb (ahol azu üres sorok újrta megjelennek, hogy a módosúlt feltételek miatt módosult adatok ne legyenek eltakarva.
Update: Super. akkor kitalálok valamit rá. 600-k-s excelből lett 15 MB-s, és ez a tábla még üres
Új hozzászólás Aktív témák
- Autós topik
- Street Fighter - Íme az új mozifilm teljes szereplőgárdája
- Abarth, Alfa Romeo, Fiat, Lancia topik
- Amatőr csillagászat
- Melyik tápegységet vegyem?
- Autószerelők, autószerelés
- GL.iNet Flint 2 (GL-MT6000) router
- Milyen billentyűzetet vegyek?
- Gitáros topic
- iOS alkalmazások
- További aktív témák...
- Samsung Galaxy Book2 Pro 360 i7-1260P 16GB 512GB OLED touchscreen, GARANCIA: 1ÉV
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- REFURBISHED és ÚJ - Lenovo ThinkPad Ultra Docking Station (40AJ)
- Honor 400 Lite / 8/256 GB / Kártyafüggetlen / 12Hó Garancia
- BESZÁMÍTÁS! MSI MAG 325CQRXF QHD VA 240Hz 1ms monitor 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