-
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
-
bozsozso
őstag
válasz Delila_1 #9900 üzenetére
Szia!
Az alap kód az ez lenne:
Sub Összegzés()
Dim usorA As Long, usorG As Long, usor2A As Long
Sheets("Munka1").Select
usorA = Range("A1").End(xlDown).Row 'Alsó sor a Munka1 lapon
'Irányított szűrés egyedi ('A' oszlop) értékekre a G1-be
Range("A1:A" & usorA).AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("G1"), Unique:=True
'Alsó sor a G oszlopban
usorG = Range("G1").End(xlDown).Row
'Első üres sor a Munka2 lap A oszlopában
usor2A = Sheets("Munka2").Range("A5000").End(xlUp).Row + 1
'Munka1 G oszlopának másolása a Munka2 A oszlopába
Range("G2:G" & usorG).Copy Sheets("Munka2").Range("A" & usor2A)
Sheets("Munka2").Select
'Szumha képlet a Munka2!B-be
Range("B2:B" & Range("A5000").End(xlUp).Row).Select
Selection = "=SUMIF(Munka1!A:A,Munka2!A2,Munka1!B:B)"
Selection.Copy
Selection.PasteSpecial Paste:=xlValues
Cells(2, 1).Select
'Munka1!G törlése
Sheets("Munka1").Columns(7).Delete
End SubAmi annyit tesz, hogy egyik munkalapról a másik munkalapra összesít azonos terméknevek mennyiségeit, de mivel ebben szerepel szerepel ár is ami az azonos termékeknél ugyan az, ezért szeretném még azt is átvinni a másik munkalapra. Ez lenne a H illetve I oszlopban.
[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz bozsozso #9901 üzenetére
Ez az új a Munka2 lapon a B oszlopba írja a Munka1 H oszlopát, és a C-be az I-t.
Sub Összegzés()
Dim usorA As Long, usorT As Long, usor2A As Long
Sheets("Munka1").Select
usorA = Range("A1").End(xlDown).Row 'Alsó sor a Munka1 lapon
'Irányított szűrés egyedi ('A' oszlop) értékekre a T1-be
Range("A1:A" & usorA).AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("T1"), Unique:=True
'Alsó sor a T oszlopban
usorT = Range("T1").End(xlDown).Row
'Első üres sor a Munka2 lap A oszlopában
usor2A = Sheets("Munka2").Range("A5000").End(xlUp).Row + 1
'Munka1 T oszlopának másolása a Munka2 A oszlopába
Range("T2:T" & usorT).Copy Sheets("Munka2").Range("A" & usor2A)
Sheets("Munka2").Select 'Szumha képlet a Munka2!B-be
usorA = Range("A1000").End(xlUp).Row
Range("B2:B" & usorA).Select
Selection = "=SUMIF(Munka1!A:A,Munka2!A2,Munka1!B:B)"
Range("C2:C" & usorA) = "=VLOOKUP(A2:A" & usorA & ",Munka1!A:I,8,0)"
Range("D2:D" & usorA) = "=VLOOKUP(A2:A" & usorA & ",Munka1!A:I,9,0)"
Range("A:D").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
Cells(2, 1).Select
'Munka1!T oszlop törlése
Sheets("Munka1").Columns(20).Delete
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.
-
bozsozso
őstag
válasz Delila_1 #9902 üzenetére
Köszönöm szépen erre gondoltam. csak most próbálom megérteni, hogy a saját kódomba át tudjam ültetni.
ha jól látom akkor csak ennyit illesztettél az erdetibe:
Range("C2:C" & usorA) = "=VLOOKUP(A2:A" & usorA & ",Munka1!A:I,8,0)"
Range("D2:D" & usorA) = "=VLOOKUP(A2:A" & usorA & ",Munka1!A:I,9,0)"
Range("A:D").Select -
Delila_1
Topikgazda
válasz bozsozso #9903 üzenetére
Mást is módosítottam.
Az újban nem a G, hanem a T oszlopba gyűjtettem ki az irányított szűrővel az A oszlop egyedi értékeit, mert látom, hogy a G oszlop foglalt.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
bozsozso
őstag
Miért írja ki az xls megnyitásakor a következő üzenetet?
A megnyitni kívánt fájl(fájlnév.xls) más formátumú, mint amilyet a fájlkiterjesztés jelez. A fájl megnyitása előtt ellenőrizze, hogy az nem sérült, valamint megbízható forrásból származik.Meg szeretné most nyitni?
Igen-re kattintva mind rendben megnyitja. Ezek olyan táblázatok amit makróval mentettem el. Egy munkalapot egy fájlba.
Amilyen kóddal mentettem:
usorB = Range("B5000").End(xlUp).Row
Set Wb1 = ActiveWorkbook
For a = 4 To usorB
Set Wb2 = Workbooks.Add
Wb1.Sheets("Adatlap").Range("A2") = Wb1.Sheets("Összesen").Range("D" & a)
Wb1.Sheets("Adatlap").Range("B5") = Wb1.Sheets("Összesen").Range("B" & a)
Wb1.Sheets("Adatlap").Range("B6") = Wb1.Sheets("Összesen").Range("C" & a)
Wb1.Sheets("Adatlap").Range("F6") = Wb1.Sheets("Összesen").Range("I" & a)
Wb1.Sheets("Adatlap").Range("G6") = Wb1.Sheets("Összesen").Range("H" & a)
vag = Left(Wb1.Sheets("Összesen").Range("D" & a), 15)
fnev = Replace(vag, "*", "X")
Wb1.Sheets("Adatlap").Copy Before:=Wb2.Sheets(1)
Wb2.SaveAs Filename:="E:\PC\" & vas & "\" & fnev & ".xls"
Wb2.Close False
Next aLehet vele valamit csinálni, hogy ne hozzon fel ilyen üzenetet?
Office2010
[ Szerkesztve ]
-
Petrov86
csendes tag
Sziasztok!
Hogy tudom megcsinálni azt, hogyha az egyik cella mondjuk eléri a 10 értéket akkor onnantól legyen piros színű 20ig ahonnan kezdve meg zöld legyen?
Köszi!
-
tomlake
csendes tag
Üdv Mindenki!
Egy kérdéssel szeretnék Hozzátok fordulni:
van 1 excelem, 2 munkalap van benne. Az első munkalapon van egy olyan oszlop is, hogy rajzszám. Ezek ömlesztve szerepelnek, kb. 10-es 20-as csoportokban (ennyi rajzszám van 1 megrendelésen). Így néz ki 1 sor pl.:Munkaszám/Pozíció / Anyagszám / Megrendelés / Megnevezés / Rajszám / Darabszám
M11-590-029/017 118 4530498833 Welle 8-109-271-765 1A másik munkalapon tartalékok szerepelnek, a következő formában:
Megnevezés / Rajzszám / Darabszám / Doboz
Schwenkteil 8-109-384-494 4 2Olyan függvényt keresek, amiben megadhatok neki 1 tartományt (egy megrendelést), hogy azokból a rajzszámokból hányat talál meg a másik munkalapon (a tartalékokból), és ezt a végén kilistázza. Ezt eddig egyenként, manuálisan csináltam (ctrl+c, másik munkalap, ctrl+f, ctrl+v, listába mind), és kicsit sokáig tart, ha több száz sort kell kitartalékolni...
Válaszotokat előre is köszönöm!
-
perfag
aktív tag
válasz tomlake #9912 üzenetére
Nem biztos, hogy jól értem a problémát, de ha igen:
=HA(DARABTELI(Tartalékok!D4:D18;H3)>0;FKERES(H3;Tartalékok!D4:E5;2;HAMIS);"nincs")
Az általad leírt munkafüzeteket létrehoztam. A Munkafüzet2-nek a Tartalékok nevet adtam.
A Rajzszámok a H oszlopba kerültek az első lapon, a Tartalékok lapon a D oszlopba.
A képlet ezt csinálja: darabtelivel megnézem a Tartalékok lapon van-e a H3-nak megfelelő rajzszám, ha nincs akkor kiírja nincs. Ha van, akkor az fkeressel megnézem hol van és mellőle kiíratom a darabszámot.
Ha nem erre gondoltál, akkor finomítsd. -
m.zmrzlina
senior tag
válasz tomlake #9912 üzenetére
Ha jól értem a feladatot akkor a =DARABTELI() fv-re van szükséged.
Az általam (a leírásod) alapján rekonstruált munkalapon használt elnevezések és tartományok szerint így néz ki a fv:
=DARABTELI(tartalek!$B$2:$B$14;F2)
Ezt minden sorhoz hozzá kell rendelned amiben olyan rajzszám van amiről tudni szeretnéd, hogy mennyi van belőle a tartalék munkalapon. -
tomlake
csendes tag
Köszönöm kedvességetek!
Igen, a DARABTELI-re van szükségem.
Ezt a kilistázó témát nem értem egészen, az FKERES kicsit magas nekem...
Csatolok két képet, hogy is néz ez ki valójában. Az a gondom, hogy nem csak arra lenne szükségem, hogy mennyi a tartalék, hanem arra is, hogy hányas dobozban, ill. van 1 megjegyzés oszlop is, ennek a tartalmára is szükségem lenne. A darabok ismétlődhetnek, tehát lehet hogy több dobozban is van tartalék.
Előre is köszönöm![ Szerkesztve ]
-
perfag
aktív tag
válasz tomlake #9917 üzenetére
Részemről nem kedvesség, én önző ember vagyok, nekem a fórum unaloműző. Mások pasziánszoznak
Onnan kezdve, hogy ismétlődnek a darabok szerintem ez már inkább adatbázisos probléma, mint táblázatkezelés. Meg lehet csinálni Excelben is, ötletem van rá, de lusta vagyok begépelni ezt a sok adatot. Ha felteszed egy fájlcserélőre, vagy elküldöd a yahoo-s címemre akkor holnap szülök egy megoldást. Az még kellene, hogy
- a Tartalékból származó adatokat hova szeretnéd tenni
- az adatismétlődés maximuma a Tartaléklapon 2? 3? -
perfag
aktív tag
válasz bozsozso #9924 üzenetére
Miért ne működne? Ha jól emlékszem az Excel 95-ről Excel 97-re átállásnál volt egy nagyon jelentős váltás a VBA objektum modelljében, azóta olyan nagy dolgok nem történtek, az egyik verzióban megírt makró fut a másikban is. Majdnem azt mondtam miért nincs kéznél egy portable Excel 2003-od, de mióta áttértem Win7-re nekem sincs
-
Delila_1
Topikgazda
válasz bozsozso #9924 üzenetére
A 2007 Mentés másként menüpontjában van egy ilyen almenü: 97-2003 verziójú munkafüzet.
Felteszem, hogy a 2010-esben is van. Ebben a formátumban mentsd el, akkor jó lesz.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Azura
csendes tag
Sziasztok
írtam egy macrot, és valami miatt nem úgy működik, ahogy szeretném.
amit szeretnék elérni, hogy csináljon egy frissítést, ezzel befrissíti a táblában lévő adatokat, különféle külső adatbázisokból, majd hajtson végre egy hiperlinkesítést (az A oszlopban lévő értékekhez csatolja az AT oszlopban lévő webcímet)ha külön futtatom a 2 macrot, akkor minden további nélkül lefut, de ha a runall macrot futtatom, vagy összeteszem egy macroba, akkor is lefut, de a hiperlinkek nem működnek.
Előre is köszi a segítséget
AzuraSub frissit()
ActiveWorkbook.RefreshAll
End SubSub link()
i = 1
Do While Cells(i, 1) <> ""
i = i + 1
Loop
i = i - 1
For J = 2 To i
A = Cells(J, 46)
b = Cells(J, 1)
Cells(J, 1).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=A, TextToDisplay:=b
Next
Columns(1).Font.Name = "Arial"
Columns(1).Font.Size = 8
End SubSub runall()
Call frissit
Call link
End Sub -
bozsozso
őstag
Sziasztok!
Szöveg formátumot szeretnék számmá alakítani makróval. Simán úgy tudom megvalósítani, hogy pl.:A1 cellába írok egy 1-est majd A1 cella másolás kijelölöm azokat a cellákat amiket át szeretnék alakítani majd irányított beillesztés kiválasztom az értéket és a szorzást ezzel jó lesz, de hiába csináltam rá makró rögzítést nem tudom megvalósítani. Vagy erre létezik valami függévny?
Így szövegként nem tudok számolni a cella tartalommal.
Előre is köszönöm.
-
scott_free
senior tag
sziasztok,
adott egy tartomány (A1:A3), ahol a cellák értéke egy külső, igen-nem választás szerint feltételes formázással zöld vagy szürke színű.
arra van-e mód, hogy az A4-es cellába csak a zöld színűeket adja össze? -
félisten
válasz scott_free #9931 üzenetére
Van, a SZUMHA függvényben ugyanazt a kritériumot adod meg, mint ami miatt a feltételes formázásnál "elzöldülnek" a cellák.
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
perfag
aktív tag
válasz bozsozso #9930 üzenetére
Hmm, nem értem. "Szöveg formátumot szeretnék számmá alakítani makróval." A makróban akarsz vele számolni, vagy vissza akarod írni az eredményt egy cellába?
Makróban a Val () függvénnyel lehet szöveget számmá alakítani.
b = Val(Range("A1"))
Elvileg. Mert a szövegben tizedes pontot kell használni, nem tizedes vesszőt. Meg lehet kerülni egy vesszőfigyelő makróval, ami kicseréli pontra az elválasztót. A VBA Súgó szerint viszont CDbl függvényt kell az internacionalistáknak használniuk. -
Delila_1
Topikgazda
Ezt próbáld meg futtatni:
Sub hiper()
Dim usor As Long, sor As Long, A As String, B As String
Calculate
usor = Range("A6000").End(xlUp).Row
For sor = 1 To usor
Cells(sor, 1).Select
A = Cells(sor, 46)
B = Cells(sor, 1)
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
A, TextToDisplay:=B
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 bozsozso #9930 üzenetére
Sub szám()
Range("B1") = 1
Range("B1").Copy
Range("A1:A" & Range("A1").End(xlDown).Row).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply
Range("B1") = ""
Application.CutCopyMode = False
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.
-
gban
Közösségépítő
Eddig Accessel oldottam meg, excelben hogy kell megoldani a következőt?
1. munkafüzet A oszlopa ha egyezik 2. munkafüzet A oszlopával, akkor legyen 1. munkafüzet B oszlopa egyenlő a 2. munkafüzet B oszlopával?
Vagyis, van 1. munkafüzet A oszlopában egymás alatt pl. 10 érték, ebből lehet azonos is, és rendelje hozzá a B oszlopban azt az értéket, ami a 2. mf. B oszlopában van, ha az A oszlopok megegyeznek.
Másképp, 1. mf. A5 cellájában levő értékhez ami pl. 4567abcd, rendelje hozzá a B5 cellához azt az értéket, ami a 2. mf-ben van az akárhanyadik sorban, de az A oszlopban levő 4567abcd érték melletti B oszlopban levő cellában van.Köszönöm, remélem érthető voltam.
És angolul?
(elég a függvény angol neve)
köszönömPostázást nem vállalok.
-
Delila_1
Topikgazda
válasz bozsozso #9940 üzenetére
Fogalmam sincs. Mostanában jártam én is így. Az eredeti, szöveg formátumú számok tizedes elválasztója pont volt, azokat makróval kicseréltettem vesszőre, ezután jött volna az irányított beillesztés. Ez már nem jött össze.
Addig írtam meg, hogy egy változóba bevettem az 1-et, kijelöltem a nem összefüggő területeket, és egy üzenetet küldtem, hogy illessze be irányítottan, szorzásként.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
félisten
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
Új hozzászólás Aktív témák
- Renault, Dacia topik
- Hobby elektronika
- Huawei Watch GT 4 - kerek karék
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- Motorola Moto G24 Power - hol van az erő?
- Fűnyíró topik
- VR topik (Oculus Rift, stb.)
- Autós topik
- Okos Otthon / Smart Home
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- További aktív témák...
- World of Warcraft Shadowlands Collectors edition EU EN
- AKCIÓ! - STEAM kulcsok /Anuchard, Aragami, Children of Morta, stb. - 2024.04.17.
- Bontatlan - BATTLEFIELD 1 Collectors Edition - Játékszoftver nélkül
- Steames kulcsok jó áron eladóak!
- Game Pass Ultimate előfizetések 1 - 25 hónapig azonnali kézbesítéssel a LEGOLCSÓBBAN!