Hirdetés

2024. április 28., vasárnap

Gyorskeresés

Útvonal

Fórumok  »  OS, alkalmazások  »  Microsoft Excel topic (kiemelt téma)

Téma összefoglaló

Téma összefoglaló

  • Utoljára frissítve: 2023-11-13 08:31:56

LOGOUT.hu

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.

Összefoglaló kinyitása ▼

Hozzászólások

(#33951) Fferi50 válasza Zola007 (#33950) üzenetére


Fferi50
őstag

Szia!

Word-öt passzolom. Nézz át másik fórumba is.
Excelben a Thisworkbook Open eseményébe beírhatod a sort. Esetleg elmented sablonként ezután. Mindenesetre akkor már makróbarátként kell menteni.

Üdv.

(#33952) Delila_1 válasza Zola007 (#33950) üzenetére


Delila_1
Topikgazda

A personalba (leírás az összefoglalóban) írd be az állapotsor letiltásá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.

(#33953) Zola007 válasza Delila_1 (#33952) üzenetére


Zola007
veterán

ez nem teljesen sikerült
próbáltam makróként is felvenni és közvetlen beírni mint "module", de egyikkel sem jött össze, hogy indítás után menjen automatikusan

így néz ki a module1 a personalban :
Sub makró1()
Application.DisplayStatusBar = False
End Sub

ha kézzel indítom a makrót, akkor lefut és működik, de magától nem

[ Szerkesztve ]

Mʏ ᴘʜɪʟᴏsᴏᴘʜʏ ɪs: Iᴛ’s ɴᴏɴᴇ ᴏғ ᴍʏ ʙᴜsɪɴᴇss ᴡʜᴀᴛ ᴘᴇᴏᴘʟᴇ sᴀʏ ᴏғ ᴍᴇ ᴀɴᴅ ᴛʜɪɴᴋ ᴏғ ᴍᴇ. I ᴀᴍ ᴡʜᴀᴛ I ᴀᴍ ᴀɴᴅ I ᴅᴏ ᴡʜᴀᴛ I ᴅᴏ. I ᴇxᴘᴇᴄᴛ ɴᴏᴛʜɪɴɢ ᴀɴᴅ ᴀᴄᴄᴇᴘᴛ ᴇᴠᴇʀʏᴛʜɪɴɢ. Aɴᴅ ɪᴛ ᴍᴀᴋᴇs ʟɪғᴇ sᴏ ᴍᴜᴄʜ ᴇᴀsɪᴇʀ. - Sɪʀ Aɴᴛʜᴏɴʏ Hᴏᴘᴋɪɴs

(#33954) Delila_1 válasza Zola007 (#33953) üzenetére


Delila_1
Topikgazda

Most nincs kéznél Excel, fejből írom.

A ThisWorkbook laphoz rendeld, és Private Sub Workbook_Open() legyen a makró neve.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#33955) Zola007 válasza Delila_1 (#33954) üzenetére


Zola007
veterán

Mʏ ᴘʜɪʟᴏsᴏᴘʜʏ ɪs: Iᴛ’s ɴᴏɴᴇ ᴏғ ᴍʏ ʙᴜsɪɴᴇss ᴡʜᴀᴛ ᴘᴇᴏᴘʟᴇ sᴀʏ ᴏғ ᴍᴇ ᴀɴᴅ ᴛʜɪɴᴋ ᴏғ ᴍᴇ. I ᴀᴍ ᴡʜᴀᴛ I ᴀᴍ ᴀɴᴅ I ᴅᴏ ᴡʜᴀᴛ I ᴅᴏ. I ᴇxᴘᴇᴄᴛ ɴᴏᴛʜɪɴɢ ᴀɴᴅ ᴀᴄᴄᴇᴘᴛ ᴇᴠᴇʀʏᴛʜɪɴɢ. Aɴᴅ ɪᴛ ᴍᴀᴋᴇs ʟɪғᴇ sᴏ ᴍᴜᴄʜ ᴇᴀsɪᴇʀ. - Sɪʀ Aɴᴛʜᴏɴʏ Hᴏᴘᴋɪɴs

(#33956) Rcsi


Rcsi
csendes tag

Sziasztok!

Ismét bizalommal fordulok hozzátok egy számomra nagyon magas feladat megoldása érdekében.

Szerintem Fkeres, és HA függvények szükségesek a megoldásához, de mivel ezeket nem ismerem, így meghaladja szerény képességeimet.

A feladat egy egyszerűsített példája:

A oszlop: Márka
B oszlop: Hengerűrtartalom
C oszlop Üzemanyag Típusa
D oszlop LE

A D oszlopot kell kiszámítanom. A B oszlopban nem pontos számok szerepelnek, mint 1583ccm, hanem csak annyi hogy 1.6 vagy 2.0 vagy 2.5 stb.

Egy Opel 1.6 benzin 101 LE, de egy Audi 1.6 benzin 140LE, és egy Opel 1.6 Diesl 90LE.
Emiatt a variációk száma elég nagy.

Az én táblázatom pedig még több lehetőséget tartalmaz.

Honnan kellene megindulnom, és milyen utat bejárnom a függvényekkel, hogy kitisztuljon a dolog.
Ha egy képletet írtok válaszba ahhoz kérnék egy rövid leírást is, mert még nem dolgoztam ezekkel a függvényekkel.
Az Fkeres alapját az tudom, de ott csak egy 2 oszlopos táblázatból választom ki a megfelelő eredményt.
Ha nagyon macera, akkor küldjetek el egy programozóhoz melegebb éghajlatra! :)

Köszi!

(#33957) nordican válasza Fferi50 (#33946) üzenetére


nordican
tag

Szia, nagyon jól hangzik, amit írsz, de ehhez megint kevés vagyok. VBA-n belül hol találom a worksheet-change-t?

(#33958) poffsoft válasza nordican (#33957) üzenetére


poffsoft
addikt

a VBA-ban a Munka1- re balfent duplaklikk, akkor a laphoz tartozó kódot találod, ott már a listából kiválasztod (worksheet majd a másik listában a change.

Vagy fogod, és bemásolod innen.

[ Szerkesztve ]

[ Szerkesztve ]

(#33959) nordican válasza poffsoft (#33958) üzenetére


nordican
tag

Megtaláltam, beillesztettem a kódot, de ez a makrók között nem jelenik meg.

(#33960) lappy válasza Rcsi (#33956) üzenetére


lappy
őstag

Ez nem világos :N
Miből számolod a lóerőt?
Amúgy az fkeres függvény több oszlopra is jó, de csak a jobbra lévő oszlopot adja vissza!

Bámulatos hol tart már a tudomány!

(#33961) Rcsi válasza lappy (#33960) üzenetére


Rcsi
csendes tag

Szia!

A lóerőt nem számolom ki, mivel az adott, csak nincs benne a táblázatban.

Úgy gondoltam hogy ha lehetséges több oszlopos fkeres, akkor csinálok egy táblázatot amibe megadom a márkát, hengerűrtartalmat, üzemanyag fajtáját, és manuálisan beírom a hozzá tartozó lóerőt.
Ebből a táblából kellene kiszednie a függvénynek az értéket, azaz a lóerőt.

(#33962) poffsoft válasza nordican (#33959) üzenetére


poffsoft
addikt

nem is .
ez egy lap eseményhez rendelt makró.
vagyis, minden alkalommal, ha a munkalapon megváltoztatod valamelyik cella tartalmát, automatikusan lefut.
Mondjuk én a target.rows.autofitet használnám, vagyis annak a sornak a magasságát állítani, amelyikben éppen szerkesztettél.
ha ugyanezen a címen kell igazítanod a másik lapon, akkor még beszúrnám:
sheets("Munka2").range(target.address).rows.autofit

[ Szerkesztve ]

(#33963) Fferi50 válasza nordican (#33959) üzenetére


Fferi50
őstag

Szia!

Ez soha nem fog a makrók között megjelenni - és nem is kell neki - mivel eseménykezelés paraméterekkel.

Amit írtál, az minden esetben az első sor magasságát fogja automatikusan állítani, amikor a munkalapon változtattál valamit - de ez nyilván felesleges minden alkalommal. Ezért írtam, hogy a Change eseményben kell megvizsgálni, hogy szükséges-e a sormagasság állítása (csak nem tűnt ki a hozzászólásból rendesen):
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Union(Range("A1"), Range("K1"))) Is Nothing Then Makró1
'ide sorold fel az Union függvényen belül azokat a cellákat, ahol listád lesz.
End Sub

A meghívott makróba pedig beleteszed az összes olyan munkalapot, ahol változtatni kell:
Sub Makró1()
Sheets("Munka1").Range("A1").Rows.AutoFit
Sheets("Munka2").Range("A1").Rows.AutoFit
Sheets("Munka1").Range("K1").Rows.AutoFit
Sheets("Munka2").Range("K1").Rows.AutoFit
'és így tovább, minden lapra és cellára
End Sub

Tehát két részből áll a folyamat. Az első rész a Change eseményben van, ami megvizsgálja, kell-e állítani sormagasságot, ha igen, meghívja a második részt (makró1), ami ténylegesen elvégzi az állításokat.

Üdv.

(#33964) Fferi50 válasza poffsoft (#33962) üzenetére


Fferi50
őstag

Szia!

Egyetértek, mert így csak egy cellát kell állítani, de azt meg kell előtte vizsgálni, hogy valóban a listát tartalmazó cellát szerkesztette-e. Ezért van a feltételsor.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Union(Range("A1"), Range("K1"))) Is Nothing Then
'ide sorold fel az Union függvényen belül azokat a cellákat, ahol listád lesz.
Sheets("Munka1").Rows(Target.Row).AutoFit
Sheets("Munka2").Rows(Target.Row).AutoFit
'és így tovább
End If
End Sub

Üdv.

[ Szerkesztve ]

(#33965) lappy válasza poffsoft (#33962) üzenetére


lappy
őstag

33886
többszörös fkeres esetén egy példa

[ Szerkesztve ]

Bámulatos hol tart már a tudomány!

(#33966) Zola007 válasza Delila_1 (#33954) üzenetére


Zola007
veterán

Akit érdekel, Word-ben is megoldható a StatusBar elrejtése:

Sub Statusbar_Hide()
CommandBars("Status Bar").Visible = False
End Sub
__________

Sub Statusbar_Show()
CommandBars("Status Bar").Visible = True
End Sub

Automatára még nem sikerült beírnom, hiába betettem a Normal sablon - This Documentbe, de így legalább külön indítható Alt-F8 után és bármikor ki-be tudom kapcsolni egy gombnyomással.
Nagyon tetszik ez az Excel VBA dolog :)
Nem rég kezdtük a tanfolyamon a programozást, tök jó dolgokat lehet csinálni és teljesen megváltoztatja az ember szemléletét.
köszi mindenkinek!
Delila-t meg még fogom nyaggatni sokat, mert veszélyes és fárasztó tudok lenni, ha engem elkezd érdekelni valami :))

Mʏ ᴘʜɪʟᴏsᴏᴘʜʏ ɪs: Iᴛ’s ɴᴏɴᴇ ᴏғ ᴍʏ ʙᴜsɪɴᴇss ᴡʜᴀᴛ ᴘᴇᴏᴘʟᴇ sᴀʏ ᴏғ ᴍᴇ ᴀɴᴅ ᴛʜɪɴᴋ ᴏғ ᴍᴇ. I ᴀᴍ ᴡʜᴀᴛ I ᴀᴍ ᴀɴᴅ I ᴅᴏ ᴡʜᴀᴛ I ᴅᴏ. I ᴇxᴘᴇᴄᴛ ɴᴏᴛʜɪɴɢ ᴀɴᴅ ᴀᴄᴄᴇᴘᴛ ᴇᴠᴇʀʏᴛʜɪɴɢ. Aɴᴅ ɪᴛ ᴍᴀᴋᴇs ʟɪғᴇ sᴏ ᴍᴜᴄʜ ᴇᴀsɪᴇʀ. - Sɪʀ Aɴᴛʜᴏɴʏ Hᴏᴘᴋɪɴs

(#33967) Delila_1 válasza Zola007 (#33966) üzenetére


Delila_1
Topikgazda

Állok elébe, habár egy ideje ritkásan jut időm a fórumra. Sebaj, vannak itt többen, akik tudnak VBA-ban segíteni.

Jópofa a kép, amit belinkeltél.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#33968) poffsoft válasza lappy (#33965) üzenetére


poffsoft
addikt

tessék?
ezt nem biztos, hogy nekem akartad...

(#33966) Zola007 : Ne aggódj, jól bírja Delila! :))

[ Szerkesztve ]

[ Szerkesztve ]

(#33969) poffsoft válasza Fferi50 (#33964) üzenetére


poffsoft
addikt

Én értem.
Nem biztos, hogy nordican is értette az uniont.

Szóval, ha csak azokat a
cellákat figyeled, amik az A oszlopban (A:A) vannak, és a B1:E100 tartományban, meg a 23. sort:

If Not Intersect(Target, Union(Range("A:A"), Range("B1:E100"), Range("23:23"))) Is Nothing Then

[ Szerkesztve ]

[ Szerkesztve ]

(#33970) lappy válasza poffsoft (#33968) üzenetére


lappy
őstag

bocs nem neked ment :R

Bámulatos hol tart már a tudomány!

(#33971) nordican válasza Fferi50 (#33964) üzenetére


nordican
tag

Fiúk-lányok, tök rendesek vagytok, hogy ennyi időt beleöltök más problémájába, de nekem ez még mindig túl elvont. Még azt kérhetném, hogy egy konkrét példára fordítsátok le ezeket a kódokat?
Szóval tegyük fel, hogy a Munka1 lapom a főlap, itt az A1 és az A3 cellában készül két különböző (többtételes) lista, és a Munka2 lapon a B2 és B4 cellában kellene megjelennie automatikusan az A1 és A3 listának, és egyúttal automatikusan át is kellene méreteződnie a Munka2 lap 2 és 4-es sormagasságának. Én pedig megfogom a kódot és egy az egyben beszúrom a Worksheet/Change lapra, és beszámolok az eredményről. Ha működik, akkor már csak a cellák meg a lapok nevét kell lecserélnem, ami elvileg még nekem is menni fog.

[ Szerkesztve ]

(#33972) Delila_1 válasza nordican (#33971) üzenetére


Delila_1
Topikgazda

Csak most nézem a feladatodat, de már az elején zavaros. Biztosan ezért nem kapsz érdemi választ.
"...az A1 és az A3 cellában készül két különböző (többtételes) lista..."

Egy cellában nem lehet lista, csak egyetlen adat.

Tegyél fel egy füzetet, amiben a lapjaid neve az igazi. Írj valamilyen adatokat, ahova kell, és írd bele azt is, hogy mit akarsz ezekből kihozni.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#33973) nordican válasza Delila_1 (#33972) üzenetére


nordican
tag

Alt Enterrel cellán belül is tudok listát csinálni (hiszen ekkor változik a sormagasság), ti hogy gondoltátok?

[ Szerkesztve ]

(#33974) Fferi50 válasza nordican (#33971) üzenetére


Fferi50
őstag

Szia!

Íme:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Union(Range("A1"), Range("A3"))) Is Nothing Then
Rows(Target.Row).AutoFit
If Not Intersect(Target, Range("A1")) Is Nothing Then
With Sheets("Munka2").Range("B2")
.Value = Target.Value
.Rows.AutoFit
End With
End if
If Not Intersect(Target, Range("A3")) Is Nothing Then
With Sheets("Munka2").Range("B4")
.Value = Target.Value
.Rows.AutoFit
End With
End If
End If
End Sub

Üdv.

[ Szerkesztve ]

(#33975) Delila_1 válasza nordican (#33973) üzenetére


Delila_1
Topikgazda

Amit Fferi írt, azt kell a Munka1 lapodhoz rendelned, lásd az összefoglaló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.

(#33976) botond187


botond187
csendes tag

Sziasztok,

Segítséget szeretnék kérni, hogy melyik képlettel lehet egy cella tartalmának az elejét megtartani?
Kb. 25 karakterből áll a cella, de csak az első 13-ra lenne szükségem.
Köszi a segítésget előre is.

(#33977) Delila_1 válasza botond187 (#33976) üzenetére


Delila_1
Topikgazda

A BAL, vagy angolban a LEFT függvénnyel.
=bal(a1;13), vagy =left(a1,13)

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#33978) nordican válasza Fferi50 (#33974) üzenetére


nordican
tag

Fantasztikus vagy, köszönöm! :) Így már sikerült a meglévő munkafüzetemre alkalmaznom, egy bökkenő van, és itt fel is adom ezt a történetet. Ha a sorban van összevont cella (és nekem sajnos van), ott nem működik, és hiába szedem szét a cellákat, a szöveg nem megy át a következő cellába. Ha leveszem a Sortöréssel több sorba opciót, akkor átfolyik a másik sorba, de a lista elemei egymás mögött jelennek meg. Magyarul kellene egy jó széles oszlop, ahová kompletten beférnek a lista elemei (amik egyébként fájlnevek), ehhez meg újra kellene csinálnom az összes munkalapot. :(

(#33979) Fferi50 válasza nordican (#33978) üzenetére


Fferi50
őstag

Szia!

Már miért kellene újra csinálnod? A lista elemeit tetted összevont cellákba? Felejtsd el az összevonást. Az oszlopszélességet is lehet automatikusra állítani, ugyanúgy mint a sormagasságot.
Columns(Range("A1").Column).Autofit.

Üdv.

(#33980) nordican válasza Fferi50 (#33979) üzenetére


nordican
tag

Igen, de a beállított szélességnél nem lehet nagyobb az oszlopszélesség, mert a munkalapot pdf-ben mentem el, és úgy küldöm tova. Ha automatikus lenne az oszlopszélesség, borulna minden, most pont úgy van méretezve, hogy széltében pont kifér egy A4-es oldalra.

(#33981) Fferi50 válasza nordican (#33980) üzenetére


Fferi50
őstag

Szia!

Ezt értem, de ha összevont két oszlopba befér a szöveg, akkor egy ugyanakkora széles oszlop is lehetne, vagy rosszul értettem a problémát?

Üdv.

(#33982) nordican válasza Fferi50 (#33981) üzenetére


nordican
tag

Igen, de ha egy oszlopot szélesebbre veszek, akkor a tőle jobbra lévő oszlopokban lévő cuccok is csúsznak (vagy keskenyebbre kéne vennem őket, de ezt meg a bennük lévő adatok miatt nem tudom). Elég kötött munkalapokkal dolgozom, szinte minden mindennel összefügg, ami ilyen szempontból elég szerencsétlen megoldás.

[ Szerkesztve ]

(#33983) Fferi50 válasza nordican (#33982) üzenetére


Fferi50
őstag

Szia!

Nyilván nem ezen fogunk összeveszni :) A munkalap tulajdonságait Te ismered, mi csak javaslatokat tudunk adni.
Egyébként az összevonást is meg lehet szüntetni és a sormagasság állítása után vissza lehet állítani.

Range("B2").MergeArea.UnMerge
Range("B2").Rows.AutoFit
Range("B2:C2").Merge

Üdv.

[ Szerkesztve ]

(#33984) nordican válasza Fferi50 (#33983) üzenetére


nordican
tag

Na, ezt még kipróbálom. :) Ezt az előbbi kódhoz kell beszúrni End Sub fölé?

(#33985) nordican válasza nordican (#33984) üzenetére


nordican
tag

Hú, úgy tűnik, működik! :D Ez k...a jó!
Ide raktam be:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Union(Range("C65"), Range("C69"))) Is Nothing Then
Rows(Target.Row).AutoFit
If Not Intersect(Target, Range("C65")) Is Nothing Then
With Sheets("Munka1").Range("B14")
.Value = Target.Value
Sheets("Munka2").Range("B14").MergeArea.UnMerge
Sheets("Munka2").Range("B14").Rows.AutoFit
Sheets("Munka2").Range("B14:E14").Merge
End With
End If
If Not Intersect(Target, Range("C69")) Is Nothing Then
With Sheets("ajánlat1").Range("B26")
.Value = Target.Value
.Rows.AutoFit
End With
End If
End If
End Sub

(#33986) Fferi50 válasza nordican (#33985) üzenetére


Fferi50
őstag

Szia!

Minden olyan AutoFit elé - után kell betenned, ahol összevont cellát szeretnél állítani.
A kódban keveredik a Munka2 és a Munka1 munkalap. A Munka2 B14 nem kap értéket (gondolom képletezve van?) csak formázod? Itt így jó helyen van akkor.

Üdv.

[ Szerkesztve ]

(#33987) botond187 válasza Delila_1 (#33977) üzenetére


botond187
csendes tag

Köszi.

Lenne egy másik kérdésem, próbáltam a vlookup függvényt, de valamiért nem akar működni.
A képlettel szerintem nincs probléma, valami más lesz a hiba.

Itt érhető el a fájl

Felkiáltójelet jelez, de nem tudom, mire gondol pontosan.

Azt szeretném elérni, hogy a sheet2-ben a "C" oszlopban ott legyen a megfelelő kód a sheet1 "C" oszlopából.

(#33988) poffsoft válasza nordican (#33985) üzenetére


poffsoft
addikt

Az első with-nek nem sok értelme van...

[ Szerkesztve ]

(#33989) Delila_1 válasza botond187 (#33987) üzenetére


Delila_1
Topikgazda

A Sheet1 lapon a B oszlopban az adatok szöveg típusúak, a Sheet2-n viszont számként szerepelnek. Ezt úgy tudod egyszerűen ellenőrizni, hogy ráállsz az első adatra (B2), majd a Shift-et nyomva tartod, és az egérrel rendre kijelölöd az alatta lévő cellákat. Számoszlop esetén a státuszsorban változnak a Min, Max, Átlag, Összeg értékek.

A Sheet2 lapon átalakítjuk a B oszlop értékeit szöveg típusúvá a =BAL(FIX(A2;0;1);12) képlettel, és minden OK.

Tehetnénk fordítva is, hogy a Sheet1 B oszlop értékeit konvertáljuk számokká, de
1. a fuvarlevél számával nem hajtunk végre matematikai műveleteket (telefonszám, adószám is ilyen)
2. a szöveges adatok kisebb helyet foglalnak el a memóriában, mint a számértékek

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#33990) Zolix


Zolix
tag

Sziasztok!

A segítségeteket kérném, van két munkafüzetem amit ki is tudok jelölni és így egyszerre nyomtatnám kétoldalasként. Viszont két külön oldalt nyomtat. A nyomtatót beállítottam kétoldalas nyomtatásra és word-ből nyomtat is excelből viszont nem a nyomtatási képnél két külön oldal jelenik meg, de nem kerül egy lapra!

Mit kellene még beállítanom?

(#33991) bobsys válasza Delila_1 (#33918) üzenetére


bobsys
addikt

Koszonom megegyszer. Hogyan kell modositani, ha a keresendo ertek az nem magaban all a masik munkafuzetben/munkalapon?
Tehat mondjuk az A1: bobsys kell megkeresni egy olyan cellaban amiben mondjuk az van, hogy cella\amiben\van\bobsys\szo-is mint karakterhalmaz.

Enterprise Admin? Kirk kapitany leszel? - Ne törődjél semmivel, egyél zsömlét kiflivel

(#33992) Delila_1 válasza bobsys (#33991) üzenetére


Delila_1
Topikgazda

=FKERES("*bobsys*";...

A csillagokkal helyettesíted a keresett szó előtti-, és mögötti karaktereket.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#33993) botond187 válasza Delila_1 (#33989) üzenetére


botond187
csendes tag

Köszi szépen, így már működik.

(#33994) Delila_1 válasza botond187 (#33993) üzenetére


Delila_1
Topikgazda

Szívesen. :)

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#33995) fogtunder


fogtunder
nagyúr

sziasztok,

lenne egy aránylag egyszerű makró, amivel nem boldogulok, sajnos próbálkozásaim ellenére nem megy nekem ez a téma.

szóval amit csinálnia kellene:

van 3 sheetünk, sheet1, sheet2, sheet3

sheet1 az, ahol a munka folyik, a többi adatforrásként szolgál

sheet1 a és b oszlopába az első sornál kezdve át kellene másolni sheet2 a és b oszlopát, amíg vannak benne értékek (ez változó sorszámot jelent). ugyanígy lenne sheet1 H oszlopa sheet 2 K oszlopa a negdeik sortól, sheet1 K-L-M oszlopa sheet2 N-O-P oszlopa.
sheet1 C és D oszlopában végig kell húzni egy VLOOKUP-ot a korábban bemásolt adatok mellé, majd kicserélni a függvényt értékekre a cellákban
sheet1 E-F-G értékei sheet3 C1, D1 és E1 értékei fixen lemásolva
sheet1 I egy VLOOKUP függvény végigmásolva, értékekre kicserélve
sheet1 J oszlopa a H*I szorzás az adott sorra végigmásolva, értékekre kicserélve

nagyon köszi, ha valaki segít :R

I hate morning people. And mornings. And People.

(#33996) oke


oke
senior tag

Sziasztok!

Adott egy excel 1 db oszloppal és kb 1000 sorral. A Cellákban különböző méretű szabad-szöveges mondat/mondatok vannak. Arra lenne szükségem, hogy ebben az egész táblázatban(tehát nem cellánként) milyen szavak fordulnak elő és ezek hányszor szerepelnek. Van erre lehetőség?

(#33997) Delila_1 válasza fogtunder (#33995) üzenetére


Delila_1
Topikgazda

Meg kellene adnod a C, D és I oszlop függvényeit a Sheet1 lapon, akkor azokat is beírnám a makróval.

Sub Masolatok()
Dim usor As Long

Sheets("Sheet2").Range("A:B").Copy Sheets("Sheet1").Range("A1")

usor = Sheets("Sheet2").Range("K" & Rows.Count).End(xlUp).Row
Sheets("Sheet2").Range("K4:K" & usor).Copy Sheets("Sheet1").Range("H1")

Sheets("Sheet2").Range("N:P").Copy Sheets("Sheet1").Range("K1")

Sheets("Sheet3").Range("C:E").Copy
Sheets("Sheet1").Range("E1").PasteSpecial xlPasteValues

' Ide a C, D és I oszlop függvényeit add meg

usor = Sheets("Sheet1").Range("H" & Rows.Count).End(xlUp).Row
Sheets("Sheet1").Range("J1:J" & usor) = "=I1*J1"

Sheets("Sheet1").Range("A:M") = Sheets("Sheet1").Range("A:M").Value
End Sub

Az utolsó sor a Sheets1 lapon az A:M tartományt értékként ugyanoda beilleszti.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#33998) fogtunder válasza Delila_1 (#33997) üzenetére


fogtunder
nagyúr

C oszlop: =VLOOKUP(A37002;Support!L:Q;4;0)
D oszlop: =VLOOKUP(A37002;Support!L:Q;3;0)
I oszlop: =IFERROR(VLOOKUP(A37002;MAP!B:E;4;0);0)

illetve bocs, most láttam, hogy nem írtam le egy fontos dolgot, a sheet2-ről másolandó adatok a 4. sortól lefelé kezdődnek.

köszi :R

[ Szerkesztve ]

I hate morning people. And mornings. And People.

(#33999) Delila_1 válasza fogtunder (#33998) üzenetére


Delila_1
Topikgazda

A Sheets2 és Sheet3 lapon is a 4. sorban kezdődnek az adatok?
A másolandó oszlopokban azonos az utolsó sor?

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#34000) mivannem


mivannem
csendes tag

Üdv!

Ha a sorösszeg van megadva, az hogyan osztható szét a cellák között egy megadott súlyozást figyelembe véve de véletlenszerűen?

Valami ilyesmit:

csak 3000 sorra és ugyanennyi oszlopra kell majd, szóval nem kézzel szeretném beírni.

Ha tudtok adni megoldást, azt előre is köszönöm!

Útvonal

Fórumok  »  OS, alkalmazások  »  Microsoft Excel topic (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.