-
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
-
válasz
sajog159
#48481
üzenetére
"Amit csináltam. Lemásoltam a C segédoszéopot 6-szor. A képletedben kitöröltem $ jelet az oszlopok másolása miatt. Ez így jó lesz?"
Jó. Csak legközelebb, mielőtt kérdezel, jó lenne letisztázni magadban, hogy mit is szeretnél, mert ha az elején tudtam volna, hogy ez lesz a vége, lehet, hogy makrót írtam volna...
(remélem következőre megint nem azzal jössz, hogy pl. "Bocs, kissé módosítottam., jelszógenerátor lesz"...)
-
-
válasz
sajog159
#48472
üzenetére
Kell egy segédoszlop, amelyben a VÉL() függvényt használjuk, azért, mert 0 és 1 között generál véletlen számokat, az általa használt algoritmus pedig biztosítja, hogy matematikailag esélytelen, hogy 2 egyforma szám generálódjon le, ezáltal "egyedi azonosítókat" hozunk létre.
C2 képlete ->
=VÉL()
(lemásolod, ameddig kell (ahány betűd van))F2 képlete ->
=INDEX($B$2:$C$11;SORSZÁM(C2;$C$2:$C$11;0);1)
(lemásolod -esetedben- 5x) -
-
válasz
eszgé100
#48468
üzenetére
1. Az mindegy, hogy hol található (helyi/hálózati) a fájl, a 70-es kód ugyanaz, hozzáférés megtagadva (Permission denied)
2. Kérdésedben ott a válasz is, mert olvasásra kell megnyitni a fájlt, csak Te nem úgy nyitottad meg. A Workbooks.Open method (Excel)
A 3. paramétert kell igazra állítani, és akkor read-only-ban próbálja megnyitni, plWorkbooks.Open "c:\ubul\ubul.xlsx", , True -
válasz
morfondőr
#48455
üzenetére
Öööö, ha nem arról van szó, hogy külön szeretnéd tudni az 5 évre visszamenő első féléves átlagok átlagát, meg külön a második féléves átlagok átlagát, akkor ilyen formán kivitelezhető: G6 cella képlete a lényeg (tömbképlettel kell bevinni, CTRL+SHIFT+ENTER)
=ÁTLAG(HA((A1:A7>=G1)*(A1:A7<=G2);B1:B7))Ugye az összes átlag összegének az átlaga, az maga a sima átlag...

UI: természetesen ez esetben az értékeket tartalmazó oszlopban nem szerepelhet korábbi átlag függvénnyel számolt érték, az értéket tartalmazó oszlopból át kell tenni egy másikba.
-
válasz
stigma
#48424
üzenetére
Access DB-ben felveszel egy új mezőt(már ha a meglévő DB struktúrába bele lehet/tudsz módosítani), ami az Excel fájl teljes útvonalát tartalmazza...
pl. "C:\2022\01\munkafüzet01.xlsx"
Ezt az infót magában az adott munkafüzetek mindegyikében is eltárolhatod.
Pl. X10 cellába (vagy bárhova, ahova szeretnéd) beírod ezt:=CELLA("filenév")
Ez a képlet a excel fájl teljes utvonalát/nevét/munkalap nevét adja vissza, de ha csak az a cél, hogy Access DB-ben lásd, hogy melyik excel táblázatból jöttek az adatok, akkor arra teljesen jó. -
-
válasz
dellfanboy
#48414
üzenetére
XLSX és XLSM az azonos, kivéve, hogy utóbbi makrót tartalmaz, ezért kell ilyen formátumban menteni.
Elsőre az XLSB-t (bináris) mindenképp érdemes kipróbálnod, mert ezt pont azért használják, hogy kisebb legyen a fájl mérete ill. a bináris "tárolási eljárásnak" köszönhetően gyorsabban is nyílik meg. (XLSB automatikusan menti a makrókat is)Azt nem tudom milyen verziójú Office-t használsz, természetesen folyamatosan vannak újabb és újabb függvények avagy régebbi függvények összevonás (pl. amit korábban 2 fx-el oldottál meg, azt meg lehet 1 fx-el).
Viszont az Office 365 megjelenésével az MS xarral kente meg a palacsintát, ugyanis az O365 (így az abban lévő Excel is) folyamatosan kapja a funkciófrissítéseket, míg a békebeli Office-ok meg nem...
Magyarul O365 Excelben már most is van olyan függvény, ami az Excel 2021-ben nincs és nem is kapja meg...
Ebből jól lejön, hogy csak óvatosan a legújabb függvények használatával, mert egy Excel 365-ben legújabb függvényeket felvonultató munkafüzetet a hajadra kenheted egy Excel 2021-ben is akár... (Bravo bravissimo Microsoft, hogy a villám sose vágjon mellétek, pöcsötökre meg nőjön köröm...)
-
válasz
Lasersailing
#48388
üzenetére
1. Az objektumoknak vannak olyan tulajdonságaik, amelyek nem jelennek meg a Properties panelen
2. A tulajdonságok közül van olyan, amit írni-olvasni is lehet(pl. ComboBox.ListIndex), de pl. van olyan is, amit csak olvasni(pl. Combobox.ListCount)"Kicsit máshogy, de lényegében ezt írtam be"
Akkor nem jól írtad be, mert pl. ha a ListCount tulajdonságot próbáltad írni, az nem fog menni (pont ezt a hibát fogja dobni)...![;]](//cdn.rios.hu/dl/s/v1.gif)
-
válasz
Lasersailing
#48384
üzenetére
'akkor fut le, amikor a UserForm megnyilik
Private Sub UserForm_Activate()
'ellenőrizzük, hogy van-e legalább 1 elem a Combobox-ban
If UserForm1.ComboBox1.ListCount > 0 Then
'ha igen, akkor (itt a példában) az első elemére állítjuk
'0-tól ListCount-1-ig lehet az elemek indexére hivatkozni
UserForm1.ComboBox1.ListIndex = 0
End If
End Sub -
Oksa, akkor Pakliman megoldását használd, és igen, a DÁTUM függvény Angol megfelelője a DATE.
Csak arra is ügyelj, hogy az Angol funkciók/függvények esetén nem pontosvesszővel vannak elválasztva a paraméterek, hanem vesszővel...
A képeden hibás a képlet, ez:
=DATE(2022;6;30)
Helyesen:=DATE(2022,6,30) -
1. Most akkor döntsd el, hogy egész sort kell színezni (korábban ezt írtad) avagy csak a dátumokat tartalmazó oszlopok celláit? (Más képlet kell egyik ill. másik esetben)
2. Azt azért nem ártana megemlíteni a kérdésedkor, hogy Angol Excel-t használsz, mert ott az Angol függvénynevekkel lehet operálni, nem pedig Magyarral (DÁTUMÉRTÉK az DATEVALUE esetedben)
-
Kijelölöd a területet -> Feltételes formázás/Új szabály
Képlete:=$A1<DÁTUMÉRTÉK("2022.02.01")
A szabály (2022.02.01. előtti dátumhoz tartozó sorokat színezi) -
-
-
Ha esetleg publikus a dolog, akkor linkeld azt a honlapod (ahol a táblázat van), ránézünk, aztán lehet, hogy a Transzponálás segíthet
-
válasz
Darth_Revan
#48285
üzenetére
Sebaj, ha már megírtam beteszem a kódot...

Alapállás | Futtatás eredménye
'Fire/SOUL/CD - 2022
Private Sub CommandButton1_Click()
'ezt a szöveget keressük
Const STRINGTOFIND = "kettő"
'ha megtalálható az adott sor cellájában, akkor erre lesz cserélve
Const REPLACESTRINGFINDTRUE = "1"
'ha nem található az adott sor cellájában, akkor erre lesz cserélve
Const REPLACESTRINGFINDFALSE = "NULLA"
'üres karakter, minden más cella erre lesz cserélve az adott sorban
Const EMPTYSTRING = ""
Dim MyRange As Range
Dim FindFlag As Boolean
Dim ReplaceString As String
Application.ScreenUpdating = False
'itt add meg a megfelelő tartományt
Set MyRange = Range("A1:F24")
For i = 0 To MyRange.Rows.Count - 1
FindFlag = False
For j = 0 To MyRange.Columns.Count - 1
If UCase(MyRange(1).Offset(i, j)) = UCase(STRINGTOFIND) Then
FindFlag = True
Exit For
End If
Next j
If FindFlag = True Then
ReplaceString = REPLACESTRINGFINDTRUE
Else
ReplaceString = REPLACESTRINGFINDFALSE
End If
MyRange(1).Offset(i, 0) = ReplaceString
For k = 1 To MyRange.Columns.Count - 1
MyRange(1).Offset(i, k) = EMPTYSTRING
Next k
Next i
Application.ScreenUpdating = True
End Sub -
válasz
Darth_Revan
#48275
üzenetére
Egy cellában vannak az adatok avagy 3 külön cellában?
-
-
-
válasz
karlkani
#48125
üzenetére
Ok, akkor amennyire lehet "bolondbiztossá" tettem a kódot...(ne vedd magadra)

Az elején a 2 konstanst kell csak módosítani, nem kell bele se alulvonás, se pont se semmi, csak tiszta szöveg legyen.'Fire/SOUL/CD - 2021
Option Explicit
Public Function Fire_Replace(ByVal SourceURL As String) As String
Const SLASH = "/"
Const DOT = "."
Const UNDERSCORE = "_"
'Itt add meg a VALAMI1 és VALAMI2 értékét... :))
'(nem kell alulvonás, se pont, se más, csak szöveg)
Const SOMETHING_1 = "VALAMI1 SZÖVEGE"
Const SOMETHING_2 = "VALAMI2 SZÖVEGE"
Dim MyStrArray() As String
MyStrArray = Split(SourceURL, SLASH)
If WorksheetFunction.CountA(MyStrArray) > 1 Then
Fire_Replace = MyStrArray(0) & SLASH & _
MyStrArray(1) & SLASH & _
MyStrArray(2) & SLASH & _
MyStrArray(3) & SLASH & _
MyStrArray(4) & SLASH & _
SOMETHING_1 & SLASH & _
Replace(MyStrArray(5), DOT, UNDERSCORE + SOMETHING_2 + DOT)
Else: Fire_Replace = MyStrArray(0)
End If
End Function -
-
válasz
karlkani
#48119
üzenetére
Ha jól értelmeztem, akkor
ebből:1*file*https://abcdefg.com/abc/123456789/123456789.m3u8legyen ez
1*file*https://abcdefg.com/abc/123456789/valami1/123456789_valami2.m3u8Ezen sorokat meg hagyja békén
1*title*1. lista címeHa igen, jól értettem, akkor Module1-be
'Fire/SOUL/CD - 2021
Option Explicit
Public Function Fire_Replace(ByVal SourceURL As String) As String
Const SLASH = "/"
Const DOT = "."
Dim MyStrArray() As String
MyStrArray = Split(SourceURL, SLASH)
If WorksheetFunction.CountA(MyStrArray) > 1 Then
Fire_Replace = MyStrArray(0) & SLASH & _
MyStrArray(1) & SLASH & _
MyStrArray(2) & SLASH & _
MyStrArray(3) & SLASH & _
MyStrArray(4) & SLASH & _
"valami1" & SLASH & _
Replace(MyStrArray(5), DOT, "_valami2.")
Else: Fire_Replace = MyStrArray(0)
End If
End Function -
-
válasz
Delila_1
#48098
üzenetére
Tényleg ne "kekeckedésnek" vedd, nem annak szánom, csak ugye alapvetően ez volt a feladat.

1. A kódnak csak és kizárólag az A1 és B1 cellákra kellene korlátozódnia, ehelyett a teljes A és B oszlopban dolgozik (Ha pl. A10-be beírok valamit, akkor B10-be kerül a módosítás dátuma)
2. a Kód nem veszi figyelembe, ha A1 elé sor(oka)t vagy oszlopo(ka)t szúrok be, direktbe az A és B oszlopon működik(ami mint írtam amúgy is hibás).
Ha pl. 1 sort és 1 oszlopot szúrnék be A1 elé, akkor B2 és B3 cellákon kellene csak működnie.
(Persze, ha tutira nem történik sor- és oszlopbeszúrás, azaz 100%, hogy az idők végezetéig A1 és B1 cellába maradnak/kellenek az adatok/eredmények, akkor itt, a 2. pontban leírtak már okafogyottá válnak)Mielőtt azt mondanád, hogy lófütyi a potrohomba(csak így a közelgő szeretet ünnepére való tekintettel
), akkor miért nem írod meg , szóval itt egy megoldás a problémákra...A megoldást a tartomány elnevezése lehetőség biztosítja, tehát A1 cellát elneveztem FIRE_RANGE-nek és akkor a kód csak ennyi:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("FIRE_RANGE")) Is Nothing Then
If Range("FIRE_RANGE").Value = "" Then
Range("FIRE_RANGE").Offset(, 1) = ""
Else
Range("FIRE_RANGE").Offset(, 1) = FormatDateTime(Now())
End If
End If
End Sub(FormatDateTime fx-t csak azért használtam, mert úgy másodpercet is kiírja a módosítás dátumaként, csak a teszt miatt, hogy lássam, azt teszi-e, amit szeretnék, természetesen Date függvényre lehet majd módosítani)
-
-
válasz
Delila_1
#48089
üzenetére
Ez ennél cselesebb feladat...
Szúrj be sort vagy oszlopot(bárhova), egyből látni fogod mire gondolok.![;]](//cdn.rios.hu/dl/s/v1.gif)
Ez a megoldás sem jó, mert bár nem fut hibára a makró, de pl. sor vagy oszlop beszúrásakor is megváltoztatja a cella időbélyegét, pedig ugye az adott cella tartalma nem változik.
Option Explicit
Public Function CellLastModifiedDateTime(MyRange As Range)
CellLastModifiedDateTime = FormatDateTime(Now())
End Function -
válasz
Geryson
#48032
üzenetére
Nekem csak a "A másik oldalon kb. 200 összeszámolandó változó van" + 17 kritérium keltette fel a figyelmem. (Változó alatt 200 oszlop értendő?)
Ha igen, akkor nyilván ez egy igen összetett táblázat kell, hogy legyen, és mint olyan, (ráadásul egy számlázóprogi is képben van), hibának helye nincs.Segítséget vagy akár megoldást is jó eséllyel fogsz kapni(mint, ahogy már írtak előttem(lappy megközelítése járható útnak tűnik)), csak azt nagyon ellenőrizd le, hogy tényleg azt csinálja, amit szeretnél.
A legjobb megoldás az lenne - amit Fferi50 is említett- , hogy magával a számlázóprogival megoldani, már ha alkalmas rá.
(Modernebb, szabványos adatbázis-alapú(Access, Dbase, Paradox stb stb) számlázókban az ilyen feladatokra vannak lehetőségek, pl. lekérdezések, adatbázismezők frissítése/törlése stb stb, egy lekérdezéssel (cikkszám alapján) mindenféle összesítés elvégezhető) -
-
válasz
modflow
#48004
üzenetére
Adatok fül/Adateszközök/Érvényesítés Ez itt 1 és 10 közötti egész számokat engedélyez csak.
-
válasz
hódmaci
#47935
üzenetére
Ööö, ehhez nem kell makró, mert ez 10 másodperces munka max...
![;]](//cdn.rios.hu/dl/s/v1.gif)
Csinálsz egy munkalapot, aminek pl. Üres jelenléti ív nevet adsz (mert az az üres jelenléti ívet tartalmazza), CTRL nyomvatart, egérrel megfogod a munkalapot és elhúzod (lesz egy másolat, azon duplaklikk és átírod a nevét a megfelelő dátumra és kész...
(vagy az üres munkalapon jobb egér/áthelyezés vagy másolás...) -
válasz
hódmaci
#47932
üzenetére
Bocs, csak mint a Hungaroringen a boxutcába, úgy jönnek sorba a futárok hozzánk...

Igen, mert hüle voltam, megfeledkeztem róla, hogy bizonyos karaktereket nem lehet munkalap nevében felhasználni... Bocsesz ( csak tényleg ki-be rohangálok egy ideje a futárokhoz)
Mindjárt megírom újra.
Még csak annyit, hogy egy újonnan létrehozott munkalapnak még nincs sem élőfeje, sem élőlába, tehát nincs mit az éppen létrehozás alatt álló munkalap nevébe beilleszteni.
Esetleg úgy értetted, hogy a makró adjon az újonnan létrehozott munkalaphoz élőfejet meg élőlábat?
Az alábbi kód ezt teszi.'Fire/SOUL/CD - 2021
Private Sub Workbook_NewSheet(ByVal Sh As Object)
Dim MyDate As String
Dim MyStr As String
'megadjuk a dátum- és időformátumot
MyDate = Format(Now, "yymmdd_hhmmss")
'beállítjuk az összes élőfej és élőláb szövegét
'természetesen amelyikre nincs szükség,
'azt a sort törölheted vagy kommentezd ki
With Sh
.PageSetup.LeftHeader = "Élőfej BAL"
.PageSetup.CenterHeader = "Élőfej KÖZÉP"
.PageSetup.RightHeader = "Élőfej JOBB"
.PageSetup.LeftFooter = "Élőláb BAL"
.PageSetup.CenterFooter = "Élőláb KÖZÉP"
.PageSetup.RightFooter = "Élőláb JOBB"
End With
'melyik élőfej vagy élőláb szövegét tartalmazza a munkalap neve
'itt a példában a középső élőfejét
MyStr = Sh.PageSetup.CenterHeader
Sh.Name = MyStr & "_" & MyDate
End Sub -
válasz
hódmaci
#47930
üzenetére
Közben javítottam/módosítottam az előző hozzászólásom, mert ha a Date függvénnyel dolgoznánk, akkor az első munkalapot létrehozná a mai dátummal, de még egyet (ugyanazon a napon) már nem, mert 2 egyforma nevű munkalap nem lehet.
"Esetleg megoldható még, hogy az előfej elő-láb mező mindig a lap neve legyen?"
Mármint mindkettő szerepeljen a munkalap nevében?
Megoldható, csak a munkalap neve max. 31 karakter lehet, ha hosszú az előfej és élőláb + még az ilyen hosszú dátum- és időformátum, az úgy már nem minden esetben fog menni...
A dátumidőt még össze lehet "tömöríteni", pl 211202110150 formátumba 2021. 12 .02. - 11:01:50 helyett... -
-
-
-
válasz
Fferi50
#47903
üzenetére
Amit itt a képeden bemutatsz, azt raktam ki én is képben (Public deklaráció (meg még mást is))... Persze, hogy úgy már lehet vele dolgozni bárhonnan

"Téves az az információd, hogy a modul elején publikusnak definiált változót csak az a modul tudja használni, amelyben definiálták. Mivel publikus,... "
Ööö a MyGlobalVariable_2 az Private deklaráció(tehát NEM Publikus, szvsz ezen átsiklottál
), ergó sem más modulból, sem woorksheet kódból nem lehet elérni, csak abból a modulból, ahol deklarálva van (Én erről írtam, azt, amit, nem a publikus változóról)... 
Modulnév.változónév formában sem (szerkesztő el fogja fogadni, engedi beírni, nem nyaffog miatta, de ha futtatni próbálod a makrót, akkor jön a hiba -
-
1. Notepadd++ letöltjük (van Portable változata, Én is azt használtam)
2. Excel és Notepadd++ elindítjuk, Excelben terület kijelöljük és CTRL+C, Notepad++ ba átmegyünk és CTRL+V
3. Elindítjuk a makrórögzítést
4. Duplaklikk az egy szóközön (így kijelöli az összeset a szavak közt), majd CTRL+H
5. Lecseréljük a szóköz csoportokat | karakterre
6. Minden sor elejére beszúrjuk a | karaktert
7. Minden sor végére is beszúrjuk a | karaktert
8. Megállítjuk a makrórögzítést és elmentjük későbbre (valami beszédes néven ill. bill. kombót rendelünk hozzá), hogy legközelebb már egy kattintással végigjátssza a 4.-7. pontokat automatikusan. (értelem szerűen már csak a Excel-ből copy-paste-l kell csak az adatokat átvinni és a makrórögzítést sem kell indítani) -
-
-
válasz
eszgé100
#47751
üzenetére
C3
=HA(HÉT.NAPJA(B3)=2;B3;B3+(7-HÉT.NAPJA(B3;2)+1))=IF(WEEKDAY(B3)=2,B3,B3+(7-WEEKDAY(B3,2)+1))D3
=C3+28E3
=ISO.HÉT.SZÁMA(HA(HÉT.NAPJA(B3)=2;B3+28;(B3+(7-HÉT.NAPJA(B3;2)+1))+28))=ISOWEEKNUM(IF(WEEKDAY(B3)=2,B3+28,(B3+(7-WEEKDAY(B3,2)+1))+28))Már, ha jól értettem a feladatot (ha nem, akkor is így marad)

-
-
válasz
eszgé100
#47702
üzenetére
Az elv, amit felvázoltál, az rendben van, csak korábban 2 telepített hálózati nyomtatóról volt szó, az meg nem látszódik a listában, pedig kellene (nálad biztosan nincs telepítve ez a 2 nyomtató)
-
válasz
Brain75
#47700
üzenetére
Értem...
Annyit tudok mondani (aztán lehet, hogy valaki rájön a rejtélyre), hogy HA
1. Mindkét gépen ugyanazon OS fut és azok területi beállításai is megegyeznek
2. Mindkét gépen ugyanazon Office fut és azok beállításai is megegyeznek
3. Mindkét gépen ugyanazzal a fájllal van gond (ami tökéletesen megegyezik a másikkal)akkor lehet, hogy ez egy bug az Office-ban, ami abból is adódhat, hogy az egyik gépen le van frissítve (uptodate) az Office, míg a másikon meg nem, ezt le kellene ellenőrizni, és ha így van, akkor frissíteni.
Végső esetben, meg a CSV fájlban lecserélni a vessző elválasztót (mert alapban a vessző, az egyben tizedes elválasztó is) pl. pontosvesszőre. Sajnos azt nem tudom (nem írtad), hogy hány soros CSV-ről van szó, mert akkor nem olyan egyszerű a dolog, hisz a vesszőket könnyen le lehet cserélni pl. pontosvesszőre, de akkor az összes tizedes számban (amik macskakörmök közt vannak) is megy a levesbe, és azokat egyenként vissza kell írni vesszőre...
Vannak speciális szövegszerkesztők, amik speciális csere funkciókkal vannak felvértezve (pl. az ingyenes Notepad++), amikkel (megfelelő hozzáértéssel) könnyen kivitelezhető a feladat.Ha esetleg úgy gondolod, az email címemre átküldheted az érintett CSV fájlt és "ha tudom", akkor átalakítom (tőlem nem publikus adatokat tartalmazó fájlok sosem mennek/kerülnek ki, ezt többen meg is tudják erősíteni, nem csak itt, más topikokban is), nem Te lennél az első, aki nyugodtan megbízhat bennem. (Héten semmi extra meló nincs, van időm rá)

-
válasz
karlkani
#47695
üzenetére
"Amúgy a végére odatesz egy /-jelet (nem kell, nem nyitja meg a videót)."
Hát de Te adtál meg olyan példát az eredeti hozzászólásodban, hogy ott figyel a végén a perjel...
(javítottam, nem lesz a végén a perjel, ki is próbáltam, megnyílik a film)="https://www.filmorias.com/ugras-a-videohoz/"&KÖZÉP(BAL($A$3;SZÖVEG.TALÁL("*";HELYETTE($A$3;"/";"*";HOSSZ($A$3)-HOSSZ(HELYETTE($A$3;"/";""))))-1);SZÖVEG.KERES("redirect";BAL($A$3;SZÖVEG.TALÁL("*";HELYETTE($A$3;"/";"*";HOSSZ($A$3)-HOSSZ(HELYETTE($A$3;"/";""))))-1))+9;HOSSZ(BAL($A$3;SZÖVEG.TALÁL("*";HELYETTE($A$3;"/";"*";HOSSZ($A$3)-HOSSZ(HELYETTE($A$3;"/";""))))-1))) -
válasz
karlkani
#47693
üzenetére
Oké, Te akartad...

="https://www.filmorias.com/ugras-a-videohoz/"&KÖZÉP(BAL($A$3;SZÖVEG.TALÁL("*";HELYETTE($A$3;"/";"*";HOSSZ($A$3)-HOSSZ(HELYETTE($A$3;"/";"")))));SZÖVEG.KERES("redirect";BAL($A$3;SZÖVEG.TALÁL("*";HELYETTE($A$3;"/";"*";HOSSZ($A$3)-HOSSZ(HELYETTE($A$3;"/";""))))))+9;HOSSZ(BAL($A$3;SZÖVEG.TALÁL("*";HELYETTE($A$3;"/";"*";HOSSZ($A$3)-HOSSZ(HELYETTE($A$3;"/";""))))))) -
válasz
karlkani
#47691
üzenetére
Module1-be kerülő kód
'Fire/SOUL/CD - 2021
Option Explicit
Public Function URLConverter(SourceURL As String) As String
Const SLASH = "/"
Dim MyStrArray() As String
MyStrArray = Split(SourceURL, SLASH)
URLConverter = ("https://www.filmorias.com/ugras-a-videohoz/" & _
MyStrArray(11) & SLASH & _
MyStrArray(12) & SLASH _
)
End FunctionHa esetleg hiperlinkként szeretnéd visszakapni, akkor az A1 cellába így használd:
=HIPERHIVATKOZÁS( URLConverter(A3))Természetesen, ha a forrás URL formátuma megváltozik, akkor már nem fog működni a függvény rendesen...
-
válasz
Brain75
#47688
üzenetére
1. Az importálás közben is már rosszul jelenik a 0,3 vagy csak akkor, amikor beírodnak az adatok a cellákba?
2. A 0,3 esetén csak 1 db oszlop lesz 3-as értékkel, vagy a 0-ból is csinál elé egy külön adatoszlopot?
3. Minden tizedestört esetén ez a szitu? (pl. 1,23 esetén lesz egy 1-est meg még egy külön, 23-at tartalmazó adatoszlop) -
válasz
Brain75
#47685
üzenetére
Én nem tudtam előállítani azt az eredményt, amit Te megadtál, pedig visszakapcsoltam az Excel 2021-ben a régi szöveg importálást is, de max. ennyire tudtam csak elcseszni, de az 1 2 23 4 5 kimenetet nem tudtam produkálni.

-
-
válasz
Anulu79
#47682
üzenetére
Ha ERRE gondolsz, az mindenkinél ott van, teljesen természetes., ez nem hiba...
Nyomtatásban ez nem fog megjelenni, ez csak számodra segítség, hogy lásd, ha esetleg egy nagyobb táblázat (sok cella vízszintesen és függőlegesen) kívül esne a nyomtatási területen (mert nem fér rá egy pl. A4-es lapra)
Az oldaltöréseket (szaggatott avagy folytonos kék vonalak a képen) átmozgathatod a neked megfelelő pozícióba, természetesen az adott papírméret (A4 alapban) figyelembevételével. -
MIN+HA+tömbképlet
C1-be:=MIN(HA(B1:B5>A1;B1:B5))
(CTRL+SHIFT+ENTER-el bevive, mert úgy lesz tömbképlet) -
válasz
eszgé100
#47660
üzenetére
A megoldást már más megírta, úgy hogy csak INNEN bemásolom a kódot.
Annyi módosítást hajtottam csak végre a kódban, hogy a 3 db privát funkció deklarációban beleírtam a PtrSafe tulajdonságot, mivel enélkül 64 bites rendszer alatt nem futna le a kód.Module1-be kerülő kód:
Option Explicit
Private Const HKEY_CURRENT_USER As Long = &H80000001
Private Const HKCU = HKEY_CURRENT_USER
Private Const KEY_QUERY_VALUE = &H1&
Private Const ERROR_NO_MORE_ITEMS = 259&
Private Const ERROR_MORE_DATA = 234
Private Declare PtrSafe Function RegOpenKeyEx Lib "advapi32" _
Alias "RegOpenKeyExA" ( _
ByVal HKey As Long, _
ByVal lpSubKey As String, _
ByVal ulOptions As Long, _
ByVal samDesired As Long, _
phkResult As Long) As Long
Private Declare PtrSafe Function RegEnumValue Lib "advapi32.dll" _
Alias "RegEnumValueA" ( _
ByVal HKey As Long, _
ByVal dwIndex As Long, _
ByVal lpValueName As String, _
lpcbValueName As Long, _
ByVal lpReserved As Long, _
lpType As Long, _
lpData As Byte, _
lpcbData As Long) As Long
Private Declare PtrSafe Function RegCloseKey Lib "advapi32.dll" ( _
ByVal HKey As Long) As Long
Public Function GetPrinterFullNames() As String()
Dim Printers() As String ' array of names to be returned
Dim PNdx As Long ' index into Printers()
Dim HKey As Long ' registry key handle
Dim Res As Long ' result of API calls
Dim Ndx As Long ' index for RegEnumValue
Dim ValueName As String ' name of each value in the printer key
Dim ValueNameLen As Long ' length of ValueName
Dim DataType As Long ' registry value data type
Dim ValueValue() As Byte ' byte array of registry value value
Dim ValueValueS As String ' ValueValue converted to String
Dim CommaPos As Long ' position of comma character in ValueValue
Dim ColonPos As Long ' position of colon character in ValueValue
Dim M As Long ' string index
' registry key in HCKU listing printers
Const PRINTER_KEY = "Software\Microsoft\Windows NT\CurrentVersion\Devices"
PNdx = 0
Ndx = 0
' assume printer name is less than 256 characters
ValueName = String$(256, Chr(0))
ValueNameLen = 255
' assume the port name is less than 1000 characters
ReDim ValueValue(0 To 999)
' assume there are less than 1000 printers installed
ReDim Printers(1 To 1000)
' open the key whose values enumerate installed printers
Res = RegOpenKeyEx(HKCU, PRINTER_KEY, 0&, _
KEY_QUERY_VALUE, HKey)
' start enumeration loop of printers
Res = RegEnumValue(HKey, Ndx, ValueName, _
ValueNameLen, 0&, DataType, ValueValue(0), 1000)
' loop until all values have been enumerated
Do Until Res = ERROR_NO_MORE_ITEMS
M = InStr(1, ValueName, Chr(0))
If M > 1 Then
' clean up the ValueName
ValueName = Left(ValueName, M - 1)
End If
' find position of a comma and colon in the port name
CommaPos = InStr(1, ValueValue, ",")
ColonPos = InStr(1, ValueValue, ":")
' ValueValue byte array to ValueValueS string
On Error Resume Next
ValueValueS = Mid(ValueValue, CommaPos + 1, ColonPos - CommaPos)
On Error GoTo 0
' next slot in Printers
PNdx = PNdx + 1
Printers(PNdx) = ValueName & " on " & ValueValueS
' reset some variables
ValueName = String(255, Chr(0))
ValueNameLen = 255
ReDim ValueValue(0 To 999)
ValueValueS = vbNullString
' tell RegEnumValue to get the next registry value
Ndx = Ndx + 1
' get the next printer
Res = RegEnumValue(HKey, Ndx, ValueName, ValueNameLen, _
0&, DataType, ValueValue(0), 1000)
' test for error
If (Res <> 0) And (Res <> ERROR_MORE_DATA) Then
Exit Do
End If
Loop
' shrink Printers down to used size
ReDim Preserve Printers(1 To PNdx)
Res = RegCloseKey(HKey)
' Return the result array
GetPrinterFullNames = Printers
End Function
Sub Test()
Dim Printers() As String
Dim N As Long
Dim S As String
Printers = GetPrinterFullNames()
For N = LBound(Printers) To UBound(Printers)
S = S & Printers(N) & vbNewLine
Next N
MsgBox S, vbOKOnly, "Printers"
End SubEredménye (most az Én gépemen futtatva)
Nyilván esetedben annyiban kell módosítani pluszban a kódot, hogy ne a képernyőre irogassa ki az összes nyomtatót, hanem a cikluson belül, megvizsgálod, hogy az aktuális printer neve tratalmazza-e az általad használt 2 printer nevének egyikét, ha igen, akkor "elévarázsololod" a \\ jelet és a megfelelő változódnak meg is van az értéke és kb. meg is vagy.
-
-
válasz
lenkei83
#47633
üzenetére
1. Maga az adatbázis, az már egy létező adatbázis (pl. MySQL, Access, Paradox stb stb)?
2. Lokális (saját gépeden van) vagy hálózaton (neten egy szerveren csücsül stb stb)?
3. Az adatbázis felépítése?Szóval ezen, alapvető infók hiányában nagyon nehéz segíteni. Pl. korábban írtad:
"1: teljes adózói adatbázis letöltése excelbe"Adatbázist nem lehet "csak úgy" letölteni Excel-be, max. átkonvertálni (makró segítségével, de ehhez nélkülözhetetlen az adatbázis felépítésének ismerete) avagy "legegyszerűbben" Power Query segítségével beimportálni az adatokat, majd ezt követően SQL lekérdezéseket (is) már el lehet követni.
-
-
-
válasz
Ghost67
#47535
üzenetére
1. Csak ennél az összetett táblázatnál van meg a jelenség avagy egy teljesen új/üres táblázat esetén is tudod produkálni?
2. Ha új/üres táblánál is jelen van a probléma, akkor frissítsd le az Office-t (Fájl menü/Fiók), ha kéri, ha nem, frissítés után gép restart!
3. ha ezt követően is még megvan a probléma, akkor indítsd csökkentett módban az Excel-t
(CTRL+Excel ikonon klikk, a CTRL-t addig tartod lenyomva, amíg meg nem jelenik a csökkentett módra rákérdező ablak, ott pedig IGEN)
Így is jelen van a probléma? -
válasz
Zomb€€
#47532
üzenetére
Gondolom ebben a jó időben nem a gép elutt ülsz, hanem kint vagy/vagytok a szabadban (amúgy jól teszed)
Elolvastam a NodeJS doksit, megnéztem mi is ez a crypto.createHmac függvény ill. a "paramétereit" is megsasoltam, erre jutottam, remélem megfelel.1. Mindenképpen telepíteni kell a .NET Keretrendszer 3.5 változatát
2. VBA Editorban (ALT+F11) Tools/References és a listában keresd meg és jelöld be a Microsoft XML, v6.0 és okézd le. [Microsoft XML, v6.0]
3. Én most egy parancsgombot (CommandButton1) alkalmaztam és ennek a kattintási eseményéhez rendeltem a kód lefutását
4. Munka1-be másolandó kód
Private Sub CommandButton1_Click()
Debug.Print HASHING_THE_STRINGG
Debug.Print QUERY_STRING
Debug.Print AND_RETURN
Debug.Print Signature(QUERY_STRING, APISECRET)
Debug.Print vbNewLine
Debug.Print HASHING_THE_STRINGG
Debug.Print ANOTHER_QUERY
Debug.Print AND_RETURN
Debug.Print Signature(ANOTHER_QUERY, APISECRET)
End Sub5. Module1-be másolandó kód
'Fire/SOUL/CD - 2021
Option Explicit
Public Const QUERY_STRING As String = "timestamp=1578963600000"
Public Const ANOTHER_QUERY As String = "symbol=LTCBTC&side=BUY&type=LIMIT&timeInForce=GTC&quantity=1&price=0.1&recvWindow=5000×tamp=1499827319559"
Public Const APISECRET As String = "NhqPtmdSJYdKjVHjA7PZj4Mge3R5YNiP1e3UZjInClVN65XAbvqqM6A7H5fATj0j"
Public Const HASHING_THE_STRINGG As String = "hashing the string: "
Public Const AND_RETURN As String = "and return: "
Public Function Signature(ByVal sTextToBeCoded As String, ByVal sKey As String)
Dim EncodingType As Object
Dim Encoder As Object
Dim TextToBeCoded() As Byte
Dim Key() As Byte
Dim ByteArray() As Byte
Set EncodingType = CreateObject("System.Text.UTF8Encoding")
Set Encoder = CreateObject("System.Security.Cryptography.HMACSHA256")
TextToBeCoded = EncodingType.Getbytes_4(sTextToBeCoded)
Key = EncodingType.Getbytes_4(sKey)
Encoder.Key = Key
ByteArray = Encoder.ComputeHash_2((TextToBeCoded))
Signature = EncodeBase64(ByteArray)
Set EncodingType = Nothing
Set Encoder = Nothing
End Function
Private Function EncodeBase64(ByRef DataArray() As Byte) As String
Dim XMLObject As MSXML2.DOMDocument60
Dim NODEObject As MSXML2.IXMLDOMElement
Set XMLObject = New MSXML2.DOMDocument60
Set NODEObject = XMLObject.createElement("b64")
NODEObject.DataType = "bin.hex"
NODEObject.nodeTypedValue = DataArray
EncodeBase64 = NODEObject.Text
Set NODEObject = Nothing
Set XMLObject = Nothing
End FunctionMindez és a futtatás követő eredmény képen: [kép]
(A kimenetet (Debug.Print) megjelenítő ablak (Immediate) a CTRL+G bill. kombóval jeleníthető meg)6. Természetesen Excel függvényként is használható a kód.
Remélem ugyanazt az eredményt adja, mint a Node script...
![;]](//cdn.rios.hu/dl/s/v1.gif)
-
válasz
Zomb€€
#47532
üzenetére
Megtennéd, hogy a kimenetről (lefuttatod a scriptet) dobsz egy képet, mert úgy nem kellene a VBA kódban a titkosítási függvények számos paraméterével egyenként próbálkozni.
Node doksit néztem, vélhetően elsőre is menne, de jobb ha a node script meg a vba kód is ugyanazt a kimenetet eredményezi... -
-
válasz
Dilikutya
#46704
üzenetére
Makróval meg így lehet megoldani (A és B oszlopba számok kerüljenek, mert C cellában összeadom őket a példában)
Private Sub Worksheet_Change(ByVal Target As Range)
'csak A és B oszlopban figyeljük a cellákat, hogy megváltozott-e a tartalmuk
If Not Intersect(Range("A:B"), Range(Target.Address)) Is Nothing Then
'megnézzük, hogy A és B oszlopban, de azonos sorban található 2 cella üres-e
If Not IsEmpty(Range("A" & Target.Row).Value) And Not IsEmpty(Range("B" & Target.Row).Value) Then
'ha egyik sem üres, akkor beírjuk a képletet a C oszlop megfelelő sorában lévő cellába
'(ez esetben összeadja a két cella értékét)
Range("C" & Target.Row).Formula = _
"=A" & Range(Target.Address).Row & "+" & "B" & Range(Target.Address).Row
Else
'ha bármelyik is üres, akkor kitörlünk mindent a C oszlop megfelelő sorában lévő cellából
Range("C" & Target.Row).Clear
End If
End If
End Sub -
válasz
MostaPista
#46698
üzenetére
Ha gondolod, küld el az email címemre azt a szöveges fájlt, elég, ha csak 1-2 sor marad benne (érintetlenül a visszaper-jelekkel) és ránézek. Ha nálam is előjön a jelenség, akkor talán tudok megoldást javasolni.
-
válasz
MostaPista
#46696
üzenetére
Valószínűleg a szöveges fájl (amibe mentetted a fájl- és mappalistát) karakterkódolásával van gond. Lehetőleg valamilyen unicode (UTF) kódólást használj, akkor mind az Excel, mind a Calc már meg fogja enni automatikusan, ellenkező esetben meg ki kell deríteni a szöveges állomány kódolását és azt megadni manuálisan az adatok átvételekor.
-
Igen, normális. Meg kell jeleníteni, aztán megint elrejteni, persze ezt a "csiki-csukit" el lehet rejteni a felhasználó elől.
Application.ScreenUpdating = False
Sheets("Report MOS").Visible = True
Range ("'Report MOS'!A16:i25")
Selection.Rows.AutoFit
Sheets("Report MOS").Visible = False
Application.ScreenUpdating = True -
válasz
dellfanboy
#46502
üzenetére
Sima HA fx-el megoldható pl.
Munka1 munkalap A1 cellájában vannak a hónapok a legördülőben
Munka2 munkalap A5-L5 tartományban a módosítandó cellák, akkorMunka2 A5-be:
=HA(Munka1!$A$1="április";0;"nem április")
és ezt másolod egérrel D5-ig (azt nem írtad, mi történjen az A5-D5 cellákkal, ha Munka1 A1-be nem április van, ezért tettem a képletbe a "nem április"-t)Munka2 E5-be:
=Munka1!$A$1
és másolod egérrel L5-ig -
válasz
paolinho
#46471
üzenetére
Annyit tegyél meg, hogy azt a céges excel táblát küld el email-ben (adatlapomon megtalálod a mailcímem) vagy esetleg oszd meg (akkor többen le tudjuk tölteni és ránézni).
Természetesen, mivel céges adatok vannak benne, ezért 1 oszlop kivételével (amiben a "problémás" dátumok vannak) minden egyéb adatot törölj ki az excel táblából. -
válasz
paolinho
#46465
üzenetére
Persze, hogy rossz a munkahelyi gépen, hisz ott el van kettyintve a formázás, hisz jól látszik , hogy hiányzik a @ a formázásból vazzeg...

Tessék már figyelmesebbnek lenni, azt a kupoláját nekijje...![;]](//cdn.rios.hu/dl/s/v1.gif)
-
válasz
paolinho
#46460
üzenetére
A MERGEFIELD-ben a DÁTUM formázásban a HÓNAP az kötelezően NAGY M...
tehát a yyyy.mmmm.dd az nem jó!
yyyy.MMMM.dd a helyes (kis m az perc)![;]](//cdn.rios.hu/dl/s/v1.gif)
Options for the Date Mail Merge Field Switch
"Note: The d, M, y expressions can be arranged in different orders but the usage of the upper case “M” for months is important as the lower case “m” is used for minutes. It is also possible to add text (such as /, -, …) and spaces; just make sure the added text remains within the double-quotes." -
válasz
paolinho
#46442
üzenetére
Ennek már nekifutottunk egyszer, pont Veled.
Nem jött össze (mármint Neked), pedig kellett volna, akkor sikerült "kerülőmegoldással" operálni, de a mostani esetben ez már nem fog menni (muszáj lesz, hogy működjön a Mergefield-es játék)...![;]](//cdn.rios.hu/dl/s/v1.gif)
-
Az egy ún. Google Script (Te írtad, hogy Google Táblázatról van szó), ez olyan, mint Excel-ben a Makró. Bocsesz, azt hittem, hogy ezt már tudtad...

Ha megnyitod a Google Táblát, akkor az Eszközök/Szkriptszerkesztő menüvel juthatsz el hozzá és oda kell/lehet bemásolni a kódot. -
function onEdit(e){
var MySpreadSheet = SpreadsheetApp.getActiveSpreadsheet();
// Ha A1 cella tartalma változik (és csak az), akkor kerül A1 értéke a megadott cellákba
// Itt a példában B1 és C1 cellákba
if (e.range.getA1Notation() == "A1") {
MySpreadSheet.getRange("B1").setValue(MySpreadSheet.getRange(e.range.getA1Notation()).getValue());
MySpreadSheet.getRange("C1").setValue(MySpreadSheet.getRange(e.range.getA1Notation()).getValue());
};
} -
válasz
SzabóPéter02
#46353
üzenetére
"Az a problémám, hogy az elrejtett jegyzetek mentés és újranyitás után a táblázatban újra megjelenítve jönnek elő. Miért csinálja ezt és mi a megoldás?"
[link]"Másik kérdésem, hogy lehet-e jegyzeteket csoportosan beszúrni illetve törölni?"
Másolni ugyanúgy lehet, ahogy cellákat is, azaz ráállsz az adott jegyzetet tartalmazó cellára, CTRL+C, kijelölsz egy cellatartományt és jobb egér/Irányított beillesztés és a Jegyzetek opciót jelölöd ki.Csoportos törlésnél elsőre ki kellene jelölni az összes jegyzetet tartalmazó cellát.
Ez is egyszerű, Kezdőlap fül/Szerkesztés csoport/Keresés és kijelölés lenyíló/Megjegyzések, kijelölt terület bármelyikén jobb egér/Megjegyzés törlése -
-
-
válasz
the radish
#45173
üzenetére
Private Sub CommandButton1_Click()
Dim MyFilename As String
Dim MyWorkBook As Workbook
'Excel fájl útvonala
MyFilename = "D:\gyumolcs.xls"
'Megnyitjuk
Set MyWorkBook = Workbooks.Open(MyFilename)
'A megnyitott munkafüzet "Munka1" nevü munkalapjáról
'beolvassuk az "A1" cella tartalmát és
'nagybetű-helyesen értelmezzük.
'Így mindegy, hogy a cellában hogy szerepel, "Alma" vagy "ALMA" vagy "alma" stb stb.
Select Case UCase(MyWorkBook.Sheets("Munka1").Range("A1"))
Case "ALMA"
Call alma
Case "KÖRTE"
Call korte
Case "SZILVA"
Call szilva
'ha bármi más szerepel a cellában vagy üres,
'akkor figyelmeztető ablak, majd bezárjuk a munkafüzetet
Case Else
MsgBox ("A(z) " + MyFilename + " munkafüzet be lesz zárva.")
MyWorkBook.Close
End Select
Set MyWorkBook = Nothing
End Sub
Private Sub alma()
MsgBox ("Alma makró")
End Sub
Private Sub korte()
MsgBox ("Körte makró")
End Sub
Private Sub szilva()
MsgBox ("Szilva makró")
End Sub -
-
-
válasz
Delila_1
#45159
üzenetére
Azt sem tudom, hogy mivel kapcsolatban kérdez. Visszakerestem, hogy nem-e esetleg egy korábban feltett problémával kapcsolatos a mostani kérdése, de ezt megelőzően 2020.06.16-ban volt utoljára hozzászólása.Én ennyit látok a mostani hozzászólásából. Te estleg nem?
Erre hogyan lehet rendesen válaszolni?
-
-
válasz
eszgé100
#45147
üzenetére
Óóóó, bakker, ezt Én nagyon félreértettem. nagyon másra gondoltam...

Akkor ennyi az egész.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'itt adhatod meg, hogy mely tartományban lévő cellákon működjön a duplaklikk
'itt a példában az A1:A5 tartományt vizsgálja
If Not Intersect(Target, Range("A1:A5")) Is Nothing Then
Select Case Target.Value
Case 0
ActiveCell.Value = 25
Case 25
ActiveCell.Value = 50
Case 50
ActiveCell.Value = 75
Case 75
ActiveCell.Value = 100
Case 100
ActiveCell.Value = 0
End Select
'ez a kis "trükk" oldja meg, hogy nem lép be a cellába szerkesztési üzemmódba
Cancel = True
End If
End Sub -
-
válasz
reimerm
#44744
üzenetére
Ez pont az, amire szükséged van, viszont a megértése a képletnek az már más tészta, ami meg nem ártana, mert a kérdésed úgy hangzik, mintha valami házi feladat lenne (ha rákérdeznek, hogy akkor ezt most magyarázd el, akkor gond lehet).
Beteszem a megoldást, de sok meló lesz, hogy megértsd
B1 cellába (majd másolható)
=SZORZATÖSSZEG(KÖZÉP(0&A3;NAGY(INDEX(SZÁM(--KÖZÉP(A3;SOR(INDIREKT("1:"&HOSSZ(A3)));1))*SOR(INDIREKT("1:"&HOSSZ(A3))); 0);SOR(INDIREKT("1:"&HOSSZ(A3))))+1;1)*10^SOR(INDIREKT("1:"&HOSSZ(A3)))/10) -
ezt a sort
ActiveWorkbook.SaveAs Filename:="SAP_booking.txt", FileFormat:=xlTextmódosítod erre
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & "SAP_Booking.txt", FileFormat:=xlTextEz meg egy másik megközelítés, talán van/lesz hasznos dolog a későbbiekben számodra.
Private Sub CommandButton1_Click()
Dim MyWorkBook As Workbook
Dim MySheet As Worksheet
Dim MyRange As Range
Dim MyFilename, TextFileLine As String
Dim MyFirstColumn, MyLastColumn As String
Set MyWorkBook = ThisWorkbook
Set MySheet = Sheets("input")
'Feldolgozandó adatok kezdőcellája
MyFirstColumn = "A4"
'Feldolgozandó adatok utolsó oszlopa
MyLastColumn = "Q"
'Fájlnév megadása, ami az adott Excel munkafüzettel egy könyvtárban kerül létrehozásra
MyFilename = MyWorkBook.Path & "\" & "SAP_Booking.txt"
'Adattartomány meghatározása
Set MyRange = MySheet.Range(MyFirstColumn & _
":" & _
MyLastColumn & _
MySheet.Range(MyLastColumn & Rows.Count).End(xlUp).Row)
'Fájl létrehozása (ha nem létezik létrehozza, ha létezik KÉRDÉS NÉLKÜL felülírja
Open MyFilename For Output As #1
'Végigszaladunk az adattartomány celláin
For i = 1 To MyRange.Rows.Count
'Ha az adattartomány kezdő oszlopában található cella nem üres(ha üres, akkor a sor is üresnek tekindendő),
'akkor feldolgozzuk az adott sorban lévő adatokat
If Not IsEmpty(MyRange.Cells(i, 1)) Then
For j = 1 To MyRange.Columns.Count
'Tabulátorral elválasztott szöveg létrehozása a sor celláinak feldolgozásával
TextFileLine = IIf(j = 1, "", TextFileLine & vbTab) & MyRange.Cells(i, j)
Next j
'Kiírás fájlba
Print #1, TextFileLine
End If
Next i
'Fájl lezárása
Close #1
End Sub -
Látatlanban nehéz segíteni, ezért tisztázzunk pár alap dolgot, hogy így van-e avagy sem.
tehát például:
Excel munkafüzet 1-ben
A1:A30 -> Ezen sorokban (amelyek egyike sem üres) vannak adatok x darab oszlopban
A31 -> üres sor
A32:A62-> Ezen sorokban (amelyek egyike sem üres) vannak adatok x darab oszlopban
A63 -> üres sor
A64:A94-> Ezen sorokban (amelyek egyike sem üres) vannak adatok x darab oszlopban
A95 -> üres sor
és így tovább...Ez így van?
UI: Jobb lenne, ha egy képet dobnál a munkafüzet 1 és munkafüzet 2-ről is, hogy láthassuk, hogy milyen az alapfelépítése a munkafüzet 1-nek, meg mit gyárt le a makró a munkafüzet 2-be... (valami valótlan adatokkal töltsd fel a munkafüzetet, ne a valós személyes adatokat lássuk...)
-
-
-
válasz
Sprite75
#44354
üzenetére
Pedig kimutatással kivitelezhető...
Makróval is megoldható, de azt most másra bízom.
(Az alap táblán nem látszik egy oszlop, ami az összesítettben meg igen, nevezetesen a H-oszlop (Kód-szám fejléccel), ezt nem ártana "látszatni", mert úgy a makrós versenyzők is "sírni" fognak.![;]](//cdn.rios.hu/dl/s/v1.gif)
-
válasz
Taktoj
#44022
üzenetére
Az Office 64 bites?
Naprakész? (Windows Update-ről minden elérhető frissítés fent van?)Ha mindkettőre igen a válasz, hogy elnavigálsz a Fájl menü/Beállítások/Speciális/Megjelenítés csoporthoz és ellenőrizd a Hardveres grafikus gyorsítás letiltása opciót. Ha be lenne jelölve, akkor szüntesd meg a kijelölést OK.
-
válasz
Ivy.4.Ever
#43962
üzenetére
Miért, a beépített/telepíthető Microsoft VBScript Regular Expressions 5.5-el valami gond van?

-
válasz
Guitar14
#43908
üzenetére
"Próbáltam a reg file-okat"
Remélem úgy érted, hogy csak az elsőt (mert ha egymás után lefuttattad a REG-eket, akkor az első létrehozta a bejegyzést, a második meg egyből ki is törölte...)

Sajnos más ötletem nincs, esetleg amit 2007-es Excel esetén írtam: [link]
"Arra felhívnám a figyelmet, hogy ez esetben, csak úgy nyithatsz meg munkafüzetet, hogy azt az excelből betöltöd. Az a megoldás, hogy ütök egy entert egy XLS-en és elindul az excel és automatikusan megnyitja az xls-t, az nem fog működni..."
-
Új hozzászólás Aktív témák
- Elektromos cigaretta 🔞
- Xbox Series X|S
- Formula-1
- Assetto Corsa Rally
- MasterDeeJay: Mi ez a pici videókártya? AMD E9173 teszt
- Path of Exile (ARPG)
- gban: Ingyen kellene, de tegnapra
- PlayStation 5
- Premier dátumot kapott az Atomic Heart negyedik, egyben utolsó kiegészítője
- AMD Navi Radeon™ RX 9xxx sorozat
- További aktív témák...
- Windows 10/11 Home/Pro , Office 2024 kulcsok
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Game Pass Ultimate előfizetések 1 - 36 hónapig azonnali kézbesítéssel a LEGOLCSÓBBAN! AKCIÓ!
- MEGA AKCIÓ! - Jogtiszta Windows - Office & Autodesk & CorelDRAW - Azonnal - Számlával - Garanciával
- Játékkulcsok ! : PC Steam, EA App, Ubisoft, Windows és egyéb játékok
- BESZÁMÍTÁS! 4TB Seagate Barracuda ST4000 SATA HDD meghajtó garanciával hibátlan működéssel
- Lenovo ThinkPad X1 Yoga G6 (6th Gen) - i7-1185G7, 32GB, 512GB SSD, multitouch + TOLL
- DELL Latitude 3380,13.3",HD,i3-6006U,8GB DDR4,128GB SSD,WIN10
- BESZÁMÍTÁS! GIGABYTE RTX 3080 Gaming OC videokártya garanciával hibátlan működéssel
- Apple iPhone 6/6 Plus szerviz alkatrészek, készletről akár másnapra!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

Magyarul O365 Excelben már most is van olyan függvény, ami az Excel 2021-ben nincs és nem is kapja meg...
![;]](http://cdn.rios.hu/dl/s/v1.gif)



Az alábbi kód ezt teszi.



