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

(#49201) Garf. válasza Delila_1 (#49200) üzenetére


Garf.
tag

Köszönöm szépen! :R

(#49202) Delila_1 válasza Garf. (#49201) ü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.

(#49203) bLaCkDoGoNe


bLaCkDoGoNe
veterán

Sziasztok,

némileg komplex kérdésre keresném a megoldást:
Adott két .XLSX fájl, legyen a nevük IN.xlsx és TEMP.xlsx. Az input.xlsx fájl alapján szeretnék adatokat frissíteni a TEMP.xlsx fájlban.

A fájlok struktúrája:
IN.xlsx, sok lapfül, változó hosszúságú tartalom lapfülenként (van ahol mondjuk 20 sor, máshol meg 500), de a struktúra ugyanaz:
A | B | C
id | lényegtelen adat | adat amit beolvasnék

TEMP.xlsx, csak két lapfül, csak az elsőn dolgoznék:
A | B
id | adat, amit frissítenék az IN.xlsx-ből, id egyezés esetén

A két fájl között az id mezők lennének kulcsok, ennek alapján szeretném frissíteni a TEMP.xlsx adatait. Az IN.xlsx-ben sokkal több adat van szétszórva a különféle lapfülekre, a TEMP.xlsx ennek egy nagyon szűk szeletét tartalmazza, egy lapfülön listázva.

Elsőre adná magát egy VLOOKUP, de sajnos rugalmatlan a megoldás az IN.xlsx-ben levő sok lapfül, és az ezekre "szétszórt" azonosítók miatt, azaz majdnem minden sorra új VLOOKUP-ot kellene írni, ill. később a TEMP.xlsx-ben levő sorok száma változhat (akár bekerülhetnek új sorok, akár kikerülhetnek régiek, és nem tudható előre, hogy az új sor tartalmát az IN.xlsx melyik lapfüléről kell összevadászni éppen).

Tudtok javasolni valamilyen univerzális, és szép elegáns megoldást? Köszönöm előre is a segítséget!

"«Fuck does Cuno care?» The boy turns to you. (He doesn't care.)" [+] "The parasite makes nothing for itself. Its only tools are taxes and tithes meant to trick you into offering what it has not earned. In Rapture we keep what is ours." [+] 

(#49204) lappy válasza detroitrw (#49196) üzenetére


lappy
őstag

Ha leírod pontosan mit akarsz....

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

(#49205) ztoldy


ztoldy
senior tag

Sziasztok!

Vélhetően egy egyszerű kérdésre keresem a választ, sajnos nekem sehogy nem sikerült összehozni a megoldást.

Adott két oszlop, melybe sorszámokat írok. Legyen A és B oszlop. Ha beírok egy olyan sorszámot az egyik oszlopba, ami a másikban már szerepel (mindegy melyikben szerepelt korábban), akkor feltételes formázással szeretném pirosra színezni a cellát. Ami fontos, hogy egyik oszlopban sem lehet olyan érték, ami a másikban már van.

Pl. ha az ismétlődő érték a 002:

A oszlop: 002, 003, 004
B oszlop: 005, 006, 002

Köszönöm a segítséget előre is.

https://www.refundo.hu/?ref=175161

(#49206) detroitrw válasza ztoldy (#49205) üzenetére


detroitrw
addikt

Erre gondoltál?

#49204 lappy
Köszi a segítséget, Delila_1 módszere jól működik :R

[ Szerkesztve ]

(#49207) ztoldy válasza detroitrw (#49206) üzenetére


ztoldy
senior tag

Szia!
Igen, erre gondoltam, csak kicsit túlbonyolítva, képlettel közelítettem meg és nem láttam a fától az erdőt. Köszönöm szépen.

https://www.refundo.hu/?ref=175161

(#49208) Fire/SOUL/CD válasza andreas49 (#49188) üzenetére


Fire/SOUL/CD
félisten

Itt az a gond, hogy cellába nem lehet képet betölteni, csak ahhoz igazítani. Az, hogy látszólag a felirattokkal együtt mozognak a képek, azt úgy oldják meg, hogy a kép méretének megfelelően vannak beállítva a sormagasságok ill. oszlopszélességek és amikor beszúrják a képeket, akkor az ALT gomb nyomva tartása mellett mozgatják a képet és így igazítják az adott cellához, de nem kerül bele a cellába. Ha a billentyűzeten a kurzormozgatókkal ráállsz egy látszólag képet tartalmazó cellára, akkor az adott cella tartalma üres lesz, itt az alábbi képen láthatod miről írok (A3-ban szöveg, B3-ban a kép, B3 üres).

A másik gond (orvosolható), hogy a beszúrt képekre objektumnévvel lehet hivatkozni vagy magára a kép fájlnevére (ahogy a HDD-n/SSD-n tárolva van)
Az alábbi kép bal-felső sarkában jól látható, hogy a Garfield kép beszúrása után az Excel automatikusan a Kép 1 objektumnevet adta neki.

Egy makró csak akkor fogja tudni megoldani az általad felvázolt feladatot, ha valahogy a szöveges országnevekhez egyértelműen tudja társítani az ahhoz tartozó képet.
Mint fentebb írtam, 2 lehetőség van.
1. Szépen egyenként át kell írni minden egyes kép objektum nevét az ország nevére (előbbi képet alapul véve a Kép 1-t Garfield-re)
2. Szépen egyenként át kell nevezni a képek fájlnevét az ország nevére és újra beszúrni őket.
Magyarország szöveghez-> Magyarország.png
Albánia szöveghez-> Albánia.png

200 országnál és azokhoz tartozó képeknél egyik sem 1-2 perces meló, de az 1. pontban javasolt módszer lényegesen egyszerűbb és gyorsabb.

UI: Ezt azért még időben döntsd el, mert egyik hozzászólásodban másik munkalapra kellene másolni, másik hozzászólásodban meg már munkafüzetet említesz...

"Megoldható-e képlettel vagy macro-val, hogy képet másoljunk egyik munkalapról a másikra?"

"Ebből kell leválogatnom ~50 nevet képpel együtt (mindig más), de ezt új munkafüzetbe."

[ 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)

(#49209) Mutt válasza bLaCkDoGoNe (#49203) üzenetére


Mutt
aktív tag

Szia,

Excel 2010-től van Power Query, amivel meglehet csinálni amit írtál.

A TEMP fájlban kell megcsinálni az egészet. Az alábbi főbb lépések kellenek:
1. Beolvastatni az IN fájlban lévő munkalapokat.
Itt bemutatják, hogyan lehet ezt megcsinálni.
2. TEMP fájlban lévő listát beolvastani.
3. A TEMP lekérdezést összekapcsolni (Merge/Egyesítés) az IN-el, bal külső (left outer) csatlakozással ha
van olyan ID ami csak TEMP-ben van, vagy belső (inner join) csatlakozás ha csak azok a sorok érdekelnek
amelyek mindkét fájlban benne vannak. Ezen YT video tud segíteni elmagyarázni a dolgokat.
4. Az eredmény kibontása.
5. Ha van olyan ID ami csak a TEMP-ben van, de az IN-ben nincs akkor egy plusz oszlop hozzáadása kell.
Ha viszont nincs ilyen ID, akkor felesleges oszlop törlése.

Lehet hogy kínai amit fentit írtam, de érdemes Power Query-vel megismerkedni.

Ha Microsoft365-öd van akkor már lehet egy újabb függvényed, a FÜGG.HALMOZÁS (angolul VSTACK), képes tartományokat összefüzni, így FKERES/VLOOKUP (vagy az újabb XLOOKUP) is tudja használni. Azért ezzel sem lesz olyan egyszerű.

Excel 2010-nél regebbi változatnál makró tud segíteni a túl sok munkalap miatt.

Ha nem boldogulsz Power Query-ben, akkor dobd fel ide mintát/küldd át magánban.

üdv

A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel

(#49210) Fire/SOUL/CD válasza andreas49 (#49188) üzenetére


Fire/SOUL/CD
félisten

Ó bakker, végül is sima szűrővel is megoldható... :W
Szűrőben kijelölöd azt az 50 országot, a szűrt listát kijelölöd, irányított kijelölés, csak a látható cellákat, ctrl+c, másik munkalap, ctrl+v, 50 sor kijelöl, és azonos sormagasságra állít (az előző munkalap sormagasságára)

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)

(#49211) bLaCkDoGoNe válasza Mutt (#49209) üzenetére


bLaCkDoGoNe
veterán

Köszönöm az iránymutatást, megpróbálkozom a dologgal. :R

"«Fuck does Cuno care?» The boy turns to you. (He doesn't care.)" [+] "The parasite makes nothing for itself. Its only tools are taxes and tithes meant to trick you into offering what it has not earned. In Rapture we keep what is ours." [+] 

(#49212) andreas49 válasza Fire/SOUL/CD (#49210) üzenetére


andreas49
senior tag

Köszi az előző válasszal együtt is a részletes magyarázatot. Ez a szűrős megoldás látszik a leghatékonyabbnak. Az alapadataimban a kép neve megegyezik az országnévvel.

HONOR Magic5 Pro - Huawei P30 Pro 8/128 GB - Xiaomi MI Note 10 Pro - Huawei Mate 10 Pro

(#49213) lappy


lappy
őstag

=[@[-3]]*(1-$K$3)
találkozott már vki ilyen képlettel ?
az eleje érdekel inkább hogy is működik

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

(#49214) sztanozs válasza lappy (#49213) üzenetére


sztanozs
veterán

Első blikkre táblareferenciának tűnik:
- az adott rekord (sor) azon eleme, emi a -3 nevű mezőben (oszlop azonosítója) van.

[ Szerkesztve ]

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#49215) bLaCkDoGoNe válasza Mutt (#49209) üzenetére


bLaCkDoGoNe
veterán

Megnéztem a fentieket, de elég nehézkesen haladtam vele, úgyhogy végül egy Python scriptet írtam a feladatra. :)
Köszönöm, hogy vetted a fáradtságot és segítettél! :R

[ Szerkesztve ]

"«Fuck does Cuno care?» The boy turns to you. (He doesn't care.)" [+] "The parasite makes nothing for itself. Its only tools are taxes and tithes meant to trick you into offering what it has not earned. In Rapture we keep what is ours." [+] 

(#49216) dellfanboy


dellfanboy
senior tag

a ceges gepemen a legujabb office 365 es excel van. tortent vmi upgrade vagy miert nem tudok a bill.levo kurzor nyilakkal a cellak kozt mozogni?idaig ha a1be voltam megnyomtam a jobra nyilat atugrottam b1 cellaba de most nem.. ez vmi setting beallitas, vagy upgr miatt most mar ilyen lett? :F

eladó dolgok:mondd az árát és vidd http://hardverapro.hu/tag/dellfanboy#aprohirdetesei

(#49217) Delila_1 válasza dellfanboy (#49216) üzenetére


Delila_1
Topikgazda

NumLock billentyű vált a számok és a nyilak funkció között.

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

(#49218) Fire/SOUL/CD válasza dellfanboy (#49216) üzenetére


Fire/SOUL/CD
félisten

Ha esetleg úgy érted, hogy nem a cellakurzor mozog, hanem az egész munkalap sorai és oszlopai "csúsznak el", akkor a Scroll Lock lett bekapcsolva.

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)

(#49219) Dilikutya


Dilikutya
félisten

Van egy védett táblázatom, amiben a dátum oszlop van zárolva, kézzel nem is lehet beleírni. Ha a mellette lévő oszlopba írnak, akkor az első oszlopban automatikusan megjelenik az aznapi dátum. Ez makrózott. Tökéletesen jó, de csak az első 100 sorig. A 101. sorban már nem védett az oszlop. Mitől lehet?

Nem vagyok perverz, csak haladok a korral. (Még mindig: Rock&roll feeling baby, rock&roll feeling.....)

(#49220) Fferi50 válasza Dilikutya (#49219) üzenetére


Fferi50
őstag

Szia!
Csak addig van a védelem beállítva. Megnézheted az A101 cellán jobb egérgomb, cellaformázás - védelem fül - a zárolt négyzet milyen állapotban van.
Ezt kell beállítanod pipára.
Üdv.

(#49221) Dilikutya válasza Fferi50 (#49220) üzenetére


Dilikutya
félisten

Az egész táblázatban nem aktív a cellaformázás. Feloldottam a védelmet, kijelöltem az oszlopot végig, visszazártam, ugyanúgy a 100. sorig védett.

Nem vagyok perverz, csak haladok a korral. (Még mindig: Rock&roll feeling baby, rock&roll feeling.....)

(#49222) lappy válasza Dilikutya (#49221) üzenetére


lappy
őstag

Akkor a makróban esetleg

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

(#49223) Dilikutya válasza lappy (#49222) üzenetére


Dilikutya
félisten

Visszazárás, feloldás után jó lett, valóban a celláknál volt. Valószínűleg így lett anno megcsinálva, a 100. sorig kijelölve, és úgy zárolva. A makróban nincs ilyen, az csak amikor a második oszlopba beírunk, felold, beírja az elsőbe a dátumot, és visszazár. Fél perc guglizással bárki feltöri, szerencse hogy ezeknek annyi esze van mint egy marék molylepkének, így elég a védelem. :)

Nem vagyok perverz, csak haladok a korral. (Még mindig: Rock&roll feeling baby, rock&roll feeling.....)

(#49224) bozsozso


bozsozso
őstag

Sziasztok,

Szükségem lenne egy kis segítségre. Egy elég nagy excel fájlból kellene kiszednem pár adatot amiből txt-t kell előállítani. A txt-t sikerült makróval megcsinálni:

Sub Próba()
Dim b As String
b = ThisWorkbook.Worksheets("Próba").Cells(2, 30)
utvonal = "E:\teszt\" & b & "\"
    Dim FileNum As Integer
    Dim DestFile As String
    Dim vLastRow As Long
    Dim i As Long, j As Long
    Dim ki As String
  Const sep = ","
    ThisWorkbook.Sheets("Próba").Activate
    vLastRow = Range("AD" & Rows.Count).End(xlUp).Row
  i = 2
    Do
        DestFile = utvonal & "teszt.TXT"
        FileNum = FreeFile()
        Open DestFile For Output As #FileNum
        Do While i <= vLastRow
            ki = ""
            ki = "7000" & sep
            ki = ki & b & "_" & Left(Cells(i, 2), 10) & sep
            ki = ki & Cells(i, 4) & "000" & sep
            ki = ki & sep
            ki = ki & Cells(i, 25) & sep & sep & sep & sep
            Print #FileNum, Left(ki, Len(ki) - Len(sep))
            i = i + 1
      Loop
      Close FileNum
    Loop While i <= vLastRow
End Sub

Viszont ami problémám, hogy az "AD" oszlopban kb. 50-70 féle adat van ezért 50-70 féle txt-t kellene előállítanom, eszt most szűrés utáni másolással oldom meg, hogy már csak azok legyenek a táblában amire szükségem van és akkor mindent kiírhat a fájlba. Ezt úgy képzeltem el, hogy a megadott utvonalon létrehozom vagy létrehozza automatikusan a könyvtárat amit az "AD" oszlopból vesz ki, majd ebbe a könyvtárba elkészülhetne a teszt.txt fájl.
A táblázatból ennyi oszlopra van szükségem ezért is rejtettem el a többit.


Fenti képből kiindulva létrehozza az 5, 8 és 2 könyvtárakat majd a fenti kódban megadottak szerint az 5-ös könyvtárba a teszt.txt fájlt elkészíti.
Hoppá a "B" oszlopot lehagytam, de abba dátum van idővel

E:\teszt\5\teszt.txt tartlma:

7000,5_2022-06-18,100000,,0.000,,,
7000,5_2022-06-18,101000,,0.000,,,
7000,5_2022-06-18,102000,,0.000,,,

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

(#49225) moklys1


moklys1
aktív tag

Elrejtett sorokat vagy oszlopokat van lehetőség nyomtatni a többi adattal, úgy hogy nem fedem fel?

(#49226) Pakliman válasza bozsozso (#49224) üzenetére


Pakliman
tag

Szia!

Egy lehetőség (sok [több ezer!] sor esetén kicsit lassabb):
Az "utvonal" változóba beépíted az AD oszlopban lévő adatot.
Pl.: utvonal = "E:\teszt\" & Cells(i, "AD") & "\".
Ez után APPEND-el megnyitod az abban a mappában lévő "teszt.TXT" fájlt (ha nem létezik még, akkor az APPEND létrehozza!): Open DestFile For Append As #FileNum
Beírod a megfelelő adatokat az ÉPPEN AKTUÁLIS sorból, majd RÖGTÖN LEZÁROD a fájlt!!!: Close FileNum
Az Open előtt természetesen mindig FileNum = FreeFile()

Célszerűbb szerintem inkább a For... Next ciklust használni, hiszen ismered az első és utolsó sor számát is.
Sub Próba()
Const sep = ","
Dim utvonal As String
Dim b As String
Dim FileNum As Integer
Dim DestFile As String
Dim vLastRow As Long
Dim ki As String
Dim i As Long, j As Long

vLastRow = Range("AD" & Rows.Count).End(xlUp).Row
For i = 2 To vLastRow
b = Cells(i, "AD")
utvonal = "E:\teszt\" & b & "\"
If Dir(utvonal, vbDirectory) = "" Then MkDir (utvonal)
DestFile = utvonal & "teszt.TXT"
FileNum = FreeFile()
Open DestFile For Append As #FileNum

ki = "7000" & sep & b & "_" & ". stb... amit akarsz..."
Print #FileNum, Left(ki, Len(ki) - Len(sep))

Close FileNum
Next i
End Sub

A megfelelő mappa létezését pedig a DIR paranccsal tudod ellenőrizni. Ha nem létezik, letrehozod.

[ Szerkesztve ]

(#49227) f(x)=exp(x)


f(x)=exp(x)
őstag

Hali!
Excelben hogy lehet egy háromjegyű számból egy kétszámjegyűt csinálni? Pl. 203 --> 20,3.

[ Szerkesztve ]

(#49228) lappy válasza f(x)=exp(x) (#49227) üzenetére


lappy
őstag

=BAL(C3;2)&","&JOBB(C3;1)
nálam továbbra is szám marad lehet vele számolni

[ Szerkesztve ]

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

(#49229) föccer válasza f(x)=exp(x) (#49227) üzenetére


föccer
nagyúr

Oszd el 10-el és formázd, esetleg kerekítsd tizedre :D

üdv, föccer

Építésztechnikus. Építőmérnök.

(#49230) f(x)=exp(x)


f(x)=exp(x)
őstag

Egy általános függvényt akartam, ami csak azokra a számokra van hatással, ami három számjegyből áll. De sikerült megoldani, köszi a segítséget! :R

(#49231) Delila_1 válasza Pakliman (#49226) üzenetére


Delila_1
Topikgazda

Feltettem 2 fájl 1 zip-be tömörítve. [link]
A nevedet viselőt kell megnyitnod, és indítani a makrót.

Szerk: ezt rosszul címeztem, Bozsozsonak szól. A tiédet még nem néztem meg.

[ Szerkesztve ]

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

(#49232) Delila_1 válasza bozsozso (#49224) üzenetére


Delila_1
Topikgazda

Pakliman 49226-os válaszánál az összefűzős sor legyen

ki = "7000," & b & "_" & Format(Range("B" & i), "yyyy-mm-dd") & "," & Range("D" & i) * 1000 & ",," & Range("Y" & i) & ",,,"

[ Szerkesztve ]

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

(#49233) mckay


mckay
aktív tag

Sziasztok,
hogy tudnám összefűzni több cella tartalmát úgy, hogy a szövegek közé egy , kerül?
:B

Tehát ilyen celláim vannak:
B1 = alma
C1 = körte
D1 = dinnye

És nagyon kellene egy ilyen mező belőlük:
A1 = alma,körte,dinnye

Találtam a neten egy TEXTJOIN függvényt, de az excelem nem ismeri fel...
:U

(#49234) lappy válasza mckay (#49233) üzenetére


lappy
őstag

vagy az összefűz függvénnyel amibe szintén bele kell rakni a , is
vagy =B1&","&C1&","&D1 ... stb

[ Szerkesztve ]

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

(#49235) mckay válasza lappy (#49234) üzenetére


mckay
aktív tag

Értem, de az összefűznél fel kell sorolnom a cellákat.
Nekem nagyon sok cellám van.
Lehet tömböt megadni az összefűznél?
Nem láttam ilyen lehetőséget...

(#49236) sztanozs válasza mckay (#49235) üzenetére


sztanozs
veterán

Asszem O365-ben van már rendes összefűző függvény, de az alatt csak makróval tudod megcsinálni.

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#49237) sztanozs válasza mckay (#49235) üzenetére


sztanozs
veterán

O365: TEXTJOIN függvény

Makró megfelelője (direkt fordítva elnevezve, hogy ne ütközzön):
Public Function JoinText(Delimiter As String, SkipEmpty As Boolean, ParamArray Source() As Variant) As String
Dim AllResults, Value, Area As Range, CRange
Set AllResults = CreateObject("System.Collections.ArrayList")
For Each Value In Source
If TypeName(Value) = "Range" Then
For Each Area In Value.Areas
If Area.Count > 1 Then
For Each CRange In Area.Value2
If Not (IsEmpty(CRange) And SkipEmpty) Then AllResults.Add CRange
Next
Else
If Not (IsEmpty(Area.Value2) And SkipEmpty) Then AllResults.Add Area.Value2
End If
Next
ElseIf TypeName(Value) = "String" Then
If Not (IsEmpty(Value) And SkipEmpty) Then AllResults.Add Value
Else
If Not (IsEmpty(Value) And SkipEmpty) Then AllResults.Add str(Value)
If Err Then
Err.Raise 2000, Description:="Invalid source data type provided"
Err.Clear
End If
End If
Next
JoinText = Join(AllResults.ToArray(), ",")
Set AllResults = Nothing
End Function

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#49238) bozsozso válasza Pakliman (#49226) üzenetére


bozsozso
őstag

Köszönöm szépen, hogy foglalkoztál a problémámmal, kipróbálom. :R

(#49239) mckay válasza sztanozs (#49237) üzenetére


mckay
aktív tag

uhh, köszi

közben eszembe jutott, hogy a gyereknek (mivel ált iskolás) alapból van O365-je, és így az ő felhőjébe belépve működött a TEXTJOIN

nagyon szépen köszi!!

(#49240) bozsozso válasza Delila_1 (#49231) üzenetére


bozsozso
őstag

Köszönöm, megnéztem. Egyelőre annyi problémát látok vele, hogy a txt-be " " jelek közé teszi a tartalmat. Fontos lenne az általam megadott formátum használata. Dátum formátum nem fontos, azért csak kiszedtem az első 10 karaktert. Jobban beleásom magam, és megpróbálom "kijavítani" ami számomra fontos. A #49232-es hozzászólásban a javasoltat is köszönöm azt is megnézem.

(#49241) bozsozso válasza Pakliman (#49226) üzenetére


bozsozso
őstag

Kipróbáltam ez működik bár tényleg nem egy villám sebességű. :R

(#49242) bozsozso válasza Delila_1 (#49231) üzenetére


bozsozso
őstag

Köszönöm szépen nagyon jó lett, sikerült kis módosításokkal a saját "éles" adataimhoz igazítani, így már csak abban kérném a segítséged, mert erre eddig még nem jöttem rá hogyan tudnám azt elérni, hogy a txt-be ne " " jelek közé kerüljenek a kiírt sorok.

Ez sebességben jócskán felülmúlja Pakliman javaslatát, de ha nem sikerül megoldanom az idézőjel problémát akkor az lesz a befutó.

Köszönet mindkettőtöknek a segítségért. :C :R

[ Szerkesztve ]

(#49243) Pakliman válasza bozsozso (#49242) üzenetére


Pakliman
tag

Lehet rajta gyorsítani, ha pl. sorba rendezed az AD oszlop szerint és "figyeled", hogy mikor változik.
Ekkor lezárod a fájlt és az új értéknek megfelelő mappában lévőt nyitod meg.

(#49244) bozsozso válasza Pakliman (#49243) üzenetére


bozsozso
őstag

A rendezés az ok, vizsgálat az jó lehet a print után?

Most nem tudom kipróbálni, de valami ilyesmi jó lehet?

If Cells(i, "AD") <> Cells (i+1,"AD") Then
    Close FileNum
End if

[ Szerkesztve ]

(#49245) Pakliman válasza bozsozso (#49244) üzenetére


Pakliman
tag

Jónak tűnik, viszont én egy változóba menteném a régi értéket.
Sub Próba()
Const sep = ","
Dim utvonal As String
Dim b As String
Dim FileNum As Integer
Dim DestFile As String
Dim vLastRow As Long
Dim ki As String
Dim i As Long, j As Long
Dim mentett As String

vLastRow = Range("AD" & Rows.Count).End(xlUp).Row

'A sorba rendezés
Columns("A:AD").Sort Key1:=Columns("AD"), Header:=xlYes

mentett = ""
bezárni = False
For i = 2 To vLastRow
b = Cells(i, "AD")
If mentett <> b Then
'"Változott" az AD cella értéke, tehát...
If FileNum <> 0 Then Close FileNum '...bezárjuk az előzőleg megnyitott fájlt
mentett = b 'Az új értéket elmentjük
utvonal = "E:\teszt\" & b & "\"
If Dir(utvonal, vbDirectory) = "" Then MkDir (utvonal)
DestFile = utvonal & "teszt.TXT"
FileNum = FreeFile()
Open DestFile For Append As #FileNum
End If

ki = "7000" & sep & b & "_" & ". stb... amit akarsz..."
Print #FileNum, Left(ki, Len(ki) - Len(sep))
Next i

If FileNum <> 0 Then Close FileNum 'A végső lezárás...
End Sub

[ Szerkesztve ]

(#49246) bozsozso válasza Pakliman (#49245) üzenetére


bozsozso
őstag

Az általam leírt nem működött, mert megnyitási hibát dobott az alábbi sornál:

Open DestFile For Append As #FileNum

A Tiéd viszont nagyon jól működik és jelentős változás van a sebességben is.

Nagyon szépen köszönöm.

[ Szerkesztve ]

(#49247) Pakliman válasza bozsozso (#49246) üzenetére


Pakliman
tag

Szívesen. :DD

(#49248) Dilikutya


Dilikutya
félisten

Feltételes formázás: van egy tábla, értékekkel, és van egy cél oszlop. A célhoz százalékos arányban igazítva van a formázás. Viszont kellene egy plusz szabály, hogy amennyiben egy másik helyen nullánál nagyobb érték szerepel, akkor az ide rendelt formátumot használja. Tehát alap esetben a 3 feltétel a célnál <90% (piros), 90<érték<100% (sárga), >100% (zöld), itt alapesetben a pluszfeltétel nulla, de ha >0 akkor szürke legyen az értéktábla megfelelő mezője.

Nem vagyok perverz, csak haladok a korral. (Még mindig: Rock&roll feeling baby, rock&roll feeling.....)

(#49249) Fferi50 válasza Dilikutya (#49248) üzenetére


Fferi50
őstag

Szia!
A feltételes formázásnál meghatározhatod, melyik feltétel alkalmazása legyen az első, illetve melyik feltétel teljesülése esetén ne legyen további vizsgálat.
A kérdésed nem egészen világos: Egyszerre nem lehet színes is és szürke is a cella.
Mutasd meg légy szíves, hogyan gondoltad.

Üdv.

(#49250) lappy válasza Dilikutya (#49248) üzenetére


lappy
őstag

logikai hiba van benne vagy >0 vagy <90

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

Útvonal

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