Keresés

Részletes keresés

m54-b Creative Commons License 2024.01.06 0 0 37770

Előzmény: Redlac (37767)
Delila10 Creative Commons License 2024.01.06 0 0 37769

Kiegészítettem az előző utasítást.

 

Target = UCase(Left(Target, 1)) & LCase(Right(Target, Len(Target) - 1))

 

Ez akkor is működik, ha bekapcsolt CapsLock-nál vitték be az adatot.

Előzmény: Delila10 (37768)
Delila10 Creative Commons License 2024.01.06 0 0 37768

Szia!

 

A bevitel helye nálam G2. A laphoz rendelt eseményvezérelt makró:

 

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$G$2" Then _
Target = UCase(Left(Target, 1)) & Right(Target, Len(Target) - 1)
End Sub

Előzmény: Redlac (37767)
Redlac Creative Commons License 2024.01.06 0 0 37767

Sziasztok!

 

Az Érvényesítés --> Lista beállításnál meg tudok adni egy listát, amiből választhat a felhasználó.

Azonban a kiválasztásnál a kis és nagybetűk között nem tesz különbséget. Tehát, ha a listában "Budapest" van írva, akkor manuálisan be lehet írni a "budapest" szót és azt - hibajelzés nélkül - tovább is engedi.

 

Meg lehet oldani, hogy csak a teljesen karakterhelyes szót fogadja el?

Szili1974 Creative Commons License 2024.01.04 0 0 37766

Sziasztok!

 

A következő "probléma" megoldásában szeretném a segítségeteket kérni.

 

Le szeretném védeni a cellákat, hogy ne lehessen felülírni a bennük lévő képleteket, szövegeket viszont az egyéni sorrend beállítást szeretném meghagyni a felhasználónak. De ha bekapcsolom a lapvédelmet, akkor a sorrendbe állítást sem engedi.

Próbáltam már, hogy kipipálom a "Rendezés" és az "AutoSzűrő" használatát, de akkor sem engedi az egyéni sorrend beállítást.

 

Van esetleg erre valakinek valami ötlete, megoldása?

 

Előre is köszönöm!

 

Üdv, Szilárd

Delila10 Creative Commons License 2024.01.03 0 0 37765

Szia!

A DARABHA, régebbi verziókban a DARABTELI függvény alkalmas erre. A súgó megmutatja az alkalmazásukat.

Előzmény: Ketele69 (37764)
Ketele69 Creative Commons License 2024.01.03 0 0 37764

Kedves Fórumtársak!

 

Először is BÚÉK Mindenkinek!

 

Az alábbiakban kérnék tanácsot.

 

Van egy változó rekordszámú "A" oszlopom, ami egy Kimutatás varázslóval előállított tábla érintett oszlopára hivatkozva tartalmaz adatokat. (1-100-ig).

 

A kérdés, hogy melyik szám, hányszor szerepel. (Fontos, hogy kizárólag azoknak a számoknak a darabszáma jelenjen meg a leválogatásban, amelyeket az "A" oszlop aktuálisan tartalmaz!) 

 

Próbáltam a feladatot továbbra is Kimutatás varázsló segítségével megoldani, de nagyon alap szinten kezelem a kimutatásokat, ezért inkább függvénnyel szeretném az adatokat kinyerni.

 

Köszönöm,

 

   

Redlac Creative Commons License 2024.01.03 0 0 37763

Értelek és köszönöm a segítségedet :-)

Előzmény: Fferenc50 (37762)
Fferenc50 Creative Commons License 2024.01.03 0 0 37762

Szia!

Még annyit tennék hozzá, hogy bármelyik modulban lehet publikus változót definiálni és láthatja minden eljárás, ha a teljes "névvel" hivatkozol rá, ami így néz ki: modulnév.változónév.

Vagyis ha a Module1-ben van egy Public valt1 nevű változó, akkor azt a többi modulban Module1.valt1 formában lehet elérni.

Üdv.

Előzmény: pimre (37761)
pimre Creative Commons License 2024.01.03 0 0 37761

Ja és azt nem mondtam, de nyilván egyértelmű, hogy a képen látható szubrutin automatikusan lefut a munkafüzet megnyitásakor, tehát megnyitja a munkafájlt, és értéket ad a Public változóknak.

Előzmény: pimre (37760)
pimre Creative Commons License 2024.01.03 0 0 37760

Félreértettél. Így kell kinéznie a ThisWorkbooknak, és akkor látja minden modul és minden procedura:

 

Előzmény: Redlac (37757)
Delila10 Creative Commons License 2024.01.03 0 0 37759

Helyes. A különböző modulokban lévő makrók elején meg kell hívnod a Start-ot.

Előzmény: Redlac (37758)
Redlac Creative Commons License 2024.01.03 0 0 37758

Nem, most igyekszem letenni a userformot, és csak hasonlót alakítok ki a munkalapon :-)

 

De az általad megadott gondolatból kiindulva szokás szerint remek lett, köszönöm :-)

 

1. Egy modul tetején lefoglaltam a Globális változókat

2. Az első rutin lett a Sub Start(), ezen belül Set-tel beállítottam, amiket kellett, és az első parancs ezután ebből a modulból indul.

3. A Thisworkbook Workbook_Open() részben pedig meghívom a Start-ot.

Előzmény: Delila10 (37756)
Redlac Creative Commons License 2024.01.03 0 0 37757

Nos, ha a Thisworkbook elejére teszem a Public változók meghatározását, akkor más modul nem "látja".

De ha egy sima modul elejére teszem, akkor a modulban lévő procedúrák látják, de a set-et procedúraként meg kell adni.

Ha a "Private Sub Workbook_Open()" részbe teszem a setet, akkor nem jó.

Előzmény: pimre (37755)
Delila10 Creative Commons License 2024.01.03 0 0 37756

Gondolom, UserFormot tartalmaz a fájlod.

Felveszel egy indítógombot. Ennek a makrójánál foglalod le a változóknak a helyet.

 

Option Explicit

Global WsSt As Worksheet, WsA As Worksheet, WsE  As Worksheet, WF As WorksheetFunction

 

Sub Start_Click()

    Set WsSt = Sheets("Startlap")

    Set WsA = Sheets("Adatok")

    Set WF = Application.WorksheetFunction

End Sub

 

 

 

A formon már simán hivatkozhatsz a változóidra.

 

Private Sub ComboBox1_Change()

    Munkakor = "Munkaröre: " & WF.VLookup(ComboBox1.Value, WsA.Range("A1:B11"), 2, 0)

End Sub

 

Private Sub ComboBox2_Change()

    Torzs = "Törzse: " & WF.VLookup(ComboBox2.Value, WsA.Range("D1:E8"), 2, 0)

End Sub

 

Előzmény: Redlac (37750)
pimre Creative Commons License 2024.01.02 0 0 37755

Egyébként az induló kérdésedre nem választoltam. "Hol és hogyan kellene úgy deklarálnom valamiket, hogy az egész munkafüzetben az értékek elérhetőek legyenek? Egyáltalán lehet egész munkafüzetre vonatkozóan vagy csak modulszinten lehet meghatározni?"

 

A kérdés első felére a küldött mintám már megadja a választ. A Programon kívül deklarálod, tehát a Sub hívás előtt. A deklaráció célja az, hogy ne kelljen minden függvényhíváskor paraméterként átadni a változót a függvénynek. 

Ezen túlmenően a public deklaráció a az egyes munkalapokon létrehozott subrutinokbna is érvényes.

 

Azt, hogy ne kelljen mindig megadni set-el megadni, azt úgy oldhatod meg, hogy a Project képernyőn a Thisworkbook-ra lépsz, és oda teszed a programot Private Sub workbook_Open() használatával, ami megnyitáskor automatikusan elindítja a programot , és ezzel értéket ad a változóidnak. A többi függvény mehet a modulokba, vagy a munkalapokra.

 

 

Előzmény: Redlac (37754)
Redlac Creative Commons License 2024.01.02 0 0 37754

Sub-on belül működik a "set", de az lett volna a cél, hogy az adott modul elején csak egyszer kelljen "set"-elni és több sub esetén azt mindegyik sub-ra "értse".

Előzmény: pimre (37753)
pimre Creative Commons License 2024.01.02 0 0 37753

Meg is nyitottad az Új form.xlsm fájlt?

 

Nézd meg ezt, nálam működik:

 

Option Explicit
Public wv As WorksheetView
Public Wb As Workbook
Public Wa As Worksheet

 

Sub teszt()
Workbooks.Open Filename:="D:\Dokumentumok\Letöltések\Új form.xlsm"
Set Wb = Workbooks("Új form.xlsm")
Set Wa = Wb.Worksheets("Adatok")
End Sub

 

Persze a public Wh-t javítsd Wa-ra, de nem ez volt a hiba oka.

Előzmény: Redlac (37752)
Redlac Creative Commons License 2024.01.02 0 0 37752

Igen, adtam, de a "set" nem tetszik neki ezen a részen.

 

Option Explicit
Public wv As WorksheetView
Public Wb As Workbook
Public Wh As Worksheet
Set Wb = Workbooks("Új form.xlsm")
Set Wa = Wb.Sheets("Adatok")

Előzmény: pimre (37751)
pimre Creative Commons License 2024.01.02 0 0 37751

A Wa beállítás előtt a Wb-nek adtál értéket?

Előzmény: Redlac (37750)
Redlac Creative Commons License 2024.01.02 0 0 37750

Sziasztok!

 

BUÉK az egész csoportnak :-)

 

Nem teljesen értem a globális/publikus deklarálást, ebben kérnék némi segítséget.

 

Hol és hogyan kellene úgy deklarálnom valamiket, hogy az egész munkafüzetben az értékek elérhetőek legyenek? Egyáltalán lehet egész munkafüzetre vonatkozóan vagy csak modulszinten lehet meghatározni?

 

Public wv As WorksheetView
Public Wb As Workbook
Public Wa As Worksheet

 

Eddig elvileg jó, de hogyan tudnám beállítani ezeket?

 

Ha ez a rész alá beírom, hogy "Set Wa = Wb.Sheets("Adatok")" az nem jó. 

 

Előre is köszönöm a segítséget

 

Delila10 Creative Commons License 2023.12.23 0 0 37749

Szia!

 

Egy módszer, ami látszólag egyesíti vízszintesen a cellákat:

 

Eredmény:

 

Előzmény: trixxy97 (37746)
pimre Creative Commons License 2023.12.22 0 0 37748

Az egyesítéssel egyébként ajánlott óvatosan bánni, kellemetlen következményei is lehetnek a későbbiekben.

 

De ha már, akkor miért nem jó az, ha kijelölöd az egyesített területet egérrel, majd az Igazítás csoportban az Egyesítés gombra kattintasz. Újabb verziókban mér csak az ikon látszik, az "Egyesítés" szó nem:

 

Előzmény: Fferenc50 (37747)
Fferenc50 Creative Commons License 2023.12.22 0 0 37747

Szia!

Csak makróval!

Bár nem igazán értem, miért kell vízszintesen cellákat egyesíteni. 

Üdv.

Előzmény: trixxy97 (37746)
trixxy97 Creative Commons License 2023.12.22 0 0 37746

Sziasztok!

Kérlek, segítsetek egy excel függvénnyel kapcsolattal (ha van ilyen). Teljesen laikusként kérdezek, és remélem érthetően magyarázom, hogy mi a feladatom... Üres cellák vízszintesen.. az egyikbe beírok egy szöveget, és a tőle jobbra levő x számú cellával egyesíti az én cellámat. Nem az adatokat kellene összevonni, üres cellákat kellne egyesíteni. Pl beírom, hogy cellla3, akkor az adott cellát a  tőle jobbra található 2 cellával egyesíti, és az egyesített (korábban 3) cellában annyi legyen, hogy cella3.. Hogyan lehet ezt a legegyszerűbben megvalósítani az excelben?

Köszönöm előre is:)

Fferenc50 Creative Commons License 2023.12.14 0 0 37745

Szia!

Vagy bármilyen a szövegben nem szereplő karakter lehet elválasztó karakter, ebben az esetben egy cellába kerül ugyan a beolvasás, de utána az Adatok - Szövegből oszlopok - tagolt típust választva, egyéb elválasztójelnek beírva a sajátodat, szétbontja cellákra a szöveget.

Üdv.

Előzmény: Peti618 (37743)
Garashan Creative Commons License 2023.12.14 0 0 37744

Szia!

 

Szerintem a tabulátort. Ha jegyzettömbből illesztek be szöveget, akkor ott is a tabulátor az új oszlop karaktere.

Előzmény: Peti618 (37743)
Peti618 Creative Commons License 2023.12.14 0 0 37743

Sziasztok!

 

az lenne a kérdésem, hogy data mátrix kód tartalomba milyen karaktert kell írni ahhoz, hogy ha kézi kódolvasóval beolvasom, akkor az excelbe külön cellába kerüljön a kód tartalom részei?

 

Zebra designer programmal lenne a kód generálva adatbázisból és nyomtatva, ezt a tartalmat kellene excelbe be illeszteni kézi olvasóval. Egy kód tartalom egy sor de külön oszlopba szeretném az egyes részeket az excelben.

 

Üdv

m54-b Creative Commons License 2023.12.12 0 0 37742
Balu424 Creative Commons License 2023.12.07 0 0 37741

egtaláltam, de nem ment fel. Ügyfélszolgálat meg ilyesmi kellett volna hozzá, így abbahagytam az egészet

Előzmény: Fferenc50 (37740)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!