-
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
-
félisten
válasz wr6vhwxeq #48820 üzenetére
Windows sosem tartalmazott Office-t alapból, max. ha valami Windows-al előtelepített gépet vettél és adtak "ajándékba" pl. egy fél-egy éves Office 365 előfizut mellé...
Windows Home verziókon is megy az Office, szóval ismerősöd nem tudom miről beszél.További kérdés esetén fordulj ezekhez a topikokhoz:
Windows 10 | Microsoft Office és Office 365[ 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)
-
félisten
-
félisten
válasz Delila_1 #48835 üzenetére
Mert válaszoltam Neked, aztán kimentem kimosni a szememből a csipát, a hideg víz hatására meg megvilágosodtam, hogy hülyeséget írtam, így megváltoztattam a hozzászólást "Korán van még..." jeligére.
Akkor még1x:
A feladat kivitelezéséhez a kombinatorika, azon belül az ún. ismétlés nélküli variáció lekódolása szükséges. Ezt még meg lehet írni makróban, de mivel közben az is befigyelt, hogy "értelmes magyar szó" is kitétel, ezért már értelmetlen az egész. Ahhoz pluszban kellene -ahogy lappy is írta- egy adatbázis, ami max. 9 betűs magyar szavakat tartalmaz.
[ 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)
-
félisten
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)
-
félisten
-
félisten
-
félisten
Ilyen nem fordulhat elő, kivéve, ha az
Összes!A2
cellában a hiperlink URL címe és felirata eltér. Csak vidd a hiperlink fölé az egérkurzort és ellenőrizd.
Összes!A2 | Munka2!A1[ 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)
-
félisten
-
félisten
válasz Salex1 #49032 üzenetére
Mutt megoldása működik, csak egy kis bakit vétett (legjobbakkal is előfordul), a képletben véletlenül TRUE-t használt, át kell csak írnod IGAZ-ra.
[ 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)
-
félisten
"Tehát, ha nem fér ki az adott oldalra, akkor az előző üres sornál töri el a nyomtatást."
Nem biztos, hogy jól értelmezem a kérdésed, de hátha segít a válasz...
Excel-ben 2 fajta oldaltörés van, Automatikus ill. kézi. Oldaltöréses nézetben az előbbit vastag kék szaggatott vonallal, utóbbit vastag kék folytonos vonallal jelöli az Excel.
(Normál nézetben is látszódnak, csak vékony fekete szaggatott/folyamatos vonallal jelöli, nehezebb látni)Ha egy oldalra nem fér el valami, akkor az automatikus oldaltörés lép érvénybe (amit nem lehet állítani, automatikusan igazodik a lapmérethez (A4-es lap pl.) ill. a margóbeállításokhoz stb) ergó automatikusan új oldalon folytatódik a nyomtatás.
Ebbe az automatikus folyamatba lehet beavatkozni a kézi töréspontok alkalmazásával, mert az mindig ott töri el az oldalt, ahova teszed, de automatikusan "vándorol" ha pl. az Excel táblázat bővül/csökken sorokkal, stb stb.Példaként itt létrehoztam 2 táblát, az elsőt jelképesen 0-val kitöltve, a másodikat meg 1-el kitöltve.
Alapállapot
2. tábla elé kézi oldaltörés
1. táblába sok sor beszúr, kézi oldaltörés vándorol
Szóval itt az 1. tábla (0-val kitöltve) több oldalra kerül folyamatosan, az automatikus oldaltörés gondoskodik erről, de 2. tábla (1-el kitöltve), mindig új oldalra fog kerülni.[ 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)
-
félisten
Akkor csak arról van szó, hogy leklónozd a hiperhivatkozást? Ha igen, akkor
1. ELTOLÁS fx-re semmi szükség
2. Csak makróval lehet megoldani (tudom, írtad, hogy makró nélkül, de úgy nem megy)
# ALT+F11
# ThisWorkbook/jobb egér/Insert Module
# beilleszted az alábbi kódotFunction FireGetURLFromHyperlink(MySrcRange As Range) As String
FireGetURLFromHyperlink = MySrcRange.Hyperlinks(1).Address
End Function# így hivatkozol egy hiperlinket tartalmazó cellára
=HIPERHIVATKOZÁS(FireGetURLFromHyperlink(Összes!A2);Összes!A2)
[ 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)
-
félisten
Ha a legelején ezt így írtad volna le, akkor nem kellett volna köröket futni...
Én biztos nem foglalkoznék se képlettel, se makróval ez esetben, hanem az Összes lapon egy szűrőt dobnék a 2. sorra, az alapján bármely oszlop szerint lehet szűrni, szűrés után kijelölni a szűrt sorokat, aztán copy-paste-el meg beilleszteni a Keres lapra, ennyi(hivatkozások is jók lesznek).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)
-
félisten
válasz Fferi50 #49052 üzenetére
Nálatok sem ismeri a Térkép diagram, Pest megyét?
Van valami trükk, amivel megjeleníthetőek az adatai?[ 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)
-
félisten
-
félisten
válasz Fferi50 #49056 üzenetére
Megfordult a fejemben, csak ugye Veszprém kapcsán (ami város és megye is egyben) el is vetettem a gondolatot, hisz azzal nincs gond. Persze így utólag belegondolva, teljesen logikus a dolog, hisz Pest az nem város, hanem Budapest városnak egy része... Még1x, thx!
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)
-
félisten
válasz p5quser #49061 üzenetére
"Egy filter függvény által kinyert sort..."
Milyen filter függvényről van szó?Amúgy sima szűrt sorból csak 2 lépésben lehet transzponálni, elsőre a szűrt sorokból kijelölöd a kívánt tartományt, simán copy-paste-l valahova beilleszteted, másodikra meg ezt a beillesztett tartományt tudod már transzponálni.
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)
-
félisten
válasz Dilikutya #49086 üzenetére
Ismert problémák szekciót olvasd el!
=DÁTUMTÓLIG(A1;B1;"Y") & " év - " & DÁTUMTÓLIG(A1;B1;"YM") & " hónap - " & DÁTUMTÓLIG(A1;B1;"MD") & " nap "
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)
-
félisten
-
félisten
-
félisten
válasz Hunter2 #49163 üzenetére
Public Sub FireReEditCells()
Dim MyRange1 As Range, MyRange2 As Range
Application.ScreenUpdating = False
Set MyRange2 = Selection
For Each MyRange1 In MyRange2
MyRange1.Select
Application.SendKeys "{F2}"
Application.SendKeys "{ENTER}"
DoEvents
Next
Application.ScreenUpdating = True
End Sub3. kitörölheted a makrót és hagyományos munkafüzetként mentheted
[ 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)
-
félisten
válasz Hunter2 #49165 üzenetére
"Bár a billentyű kombinációk egyáltalán nem csináltak semmit."
Ez tipikusan 2 esetben fordul elő:
1. laptop user-ek esetén van Fn billentyű is és a BIOS-ban ennek használata van beállítva. Ilyenkor a funkcióbillentyűket csak ezen gomb lenyomásával együtt lehet elérni, tehát FN+ALT+F11 és FN+ALT+F8.
2. NVidia kártyát használók esetén a driver-el együt települ az ún. NVidia (Geforce) Experience és ez okozza a jelenséget, nem csak Excel-ben, hanem más app-okban is, a lentebb linkelt videóban épp a Photoshop-ba kever bele.
El kell távolítani, vagy letiltani vagy a hotkey szekcióban átkonfigolni.
How to Change/Disable Keyboard Hotkeys of Nvidia GeForce ExperienceMindenki 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)
-
félisten
válasz andreas49 #49188 üzenetére
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.png200 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)
-
félisten
válasz andreas49 #49188 üzenetére
Ó bakker, végül is sima szűrővel is megoldható...
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)
-
félisten
válasz dellfanboy #49216 üzenetére
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)
-
félisten
válasz kartalhu #49308 üzenetére
Pontosabban, hogy "állítódott át" a dátum? Teljesen rossz dátum jelenik (nem a mai valós dátum) vagy csak a formátuma változott meg?
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)
-
félisten
Most is úgy van, ahogy régen, nálad van valami gebasz...
Nyiss meg egy teljesen új, üres munkafüzetet és próba.
Amúgy Magyar OS és Magyar Office, amit használsz?
Esetleg a butított, ingyenes, online O365-t? (amúgy megnéztem most, ott is jó)[ 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)
-
félisten
válasz hódmaci #49358 üzenetére
Sima cellaformázásnál a formátummal megegyező módon kell beírni a cellaértéket idő esetén, mert egyébként nem értelmezhető a dolog.
Mindhárom oszlopot formázd óó:pp-re és ennek megfelelően kell bevinni az értéket, azaz 8:00 és 13:00. A két cella értéke meg simán kivonható egymásból és 05:00-t fogsz kapni.
(Ha a megfelelő formátumban írsz be időértéket, akkor az "nem létező" adat esetén is konvertálódik, tehát pl. 1:70 esetén 2:10-re...)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)
-
félisten
válasz hódmaci #49361 üzenetére
Excel-ben a dátum- és időformátumok számmal vannak megadva és ebből a számból számolja vissza és jeleníti meg dátum- és időformátumban. Pl. ha időre formázol egy cellát és beírsz egy 1-est, akkor a szerkesztőlécen a 1900.01.01 0:00:00 fog látszódni, ha 2-est, akkor meg 1900.01.02 0:00:00, ha 1,1-t akkor meg 1900.01.01 2:24:00 és így tovább, tehát csak így simán egy számot beírva nem fogja óó:pp formátumra tudni átalakítani, ezért kell így bevinni.
Makróval kivitelezhető a dolog, ami figyeli -példádban- az A és B oszlopokban bekövetkezett változást (amikor valamit beírsz) és átalakítja megfelelő formátumra (pl: 8 beírásakor 08:00-ra, esetleg segédoszloppal, de ennyit nem biztos, hogy ér a dolog...)[ 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)
-
félisten
-
félisten
válasz Oryctolagus #49377 üzenetére
Ha nem Magyar az Office, azt legközelebb írd meg...
=LEFT(A1,16)
detroitrw megoldása is teljesen jó, csak angolosítani kell
=LEFT(A1,SEARCH(".",A1)-4)
[ 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)
-
félisten
-
félisten
Próbálhatod, de, nem lesz OK...
Osztott (shared) munkafüzettel megoldható, de ha a Delila_1 által adott megoldás is problémás számodra, akkor neki sem fogok kezdeni ennek... Bocsi...[ 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)
-
félisten
válasz Szikravadász #49452 üzenetére
A1-ben van az idő,
[ó]:pp
formázott cellában, pl25:11
, akkor az alábbi képlet1 nap 1 óra 11 perc
-t fog kiírni.=INT(A1) & " nap " & INT(MARADÉK(A1;INT(A1))*24) & " óra " & PERCEK(A1) & " perc"
[ 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)
-
félisten
-
félisten
válasz the radish #49506 üzenetére
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)
-
félisten
válasz #86883328 #49617 üzenetére
eredeti ár = kedvezményes ár / (1-kedvezmény)
Ha véletlenül nem százalék formátumban vannak a kedvezmények, hanem számként (pl. nem 10% van a cellában, hanem csak simán 10), akkor
eredeti ár = kedvezményes ár / (1-kedvezmény/100)
[ 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)
-
félisten
válasz Salex1 #49623 üzenetére
DB-BAN54-0ROOM-00NUMBER
DB-BAN54-0ROOM-00NUMBER-000207Ezek szerint, lehet olyan cella is, ami nem követi a megadott formátumot és nincs azonosító a végén ill. az azonosítók mind egyediek (nincs két egyforma)?
[ 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)
-
félisten
válasz Salex1 #49627 üzenetére
Az első cellát vélem Én hibásnak, mert nincs azonosítója (hiányzik a végéről), egyáltalán nem mindegy, hogy ilyen cella/cellák is van/vannak avagy sem.
Addig is írtam egy makrót, ami most hibásnak vél ilyen cellá(ka)t és kérésre kihagyja a feldolgozását, ez az eredménye a futtatásának.Azért nem teszem be a kész makrót még, mert ha véletlenül az a cella nem hibás (itt a példában az A2 cella), akkor módosítanom kell a makrón....
(most viszont egy gépet kell összepakolnom, csak 6-7 órakor érek rá vele foglalkozni, addigra meg lehet, hogy dobnak be mások is megoldásokat)[ 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)
-
félisten
válasz Fire/SOUL/CD #49628 üzenetére
2 dolgot kell beállítanod a makróban, hogy HONNAN (eredeti adatok) és hogy HOVA (átalakított adatok) másolódjanak az adatok.
Mindkét állítandó érték elé az[EZT KELL BEÁLLÍTANOD]
kommentet tettem.Module1-be másolandó kód
Option Explicit
'Fire/SOUL/CD - 2022
Public Sub Fire_Salex1_Process()
'kötött formátum elválasztó karaktere
Const MYDELIMITER = "-"
'a feldogozandó adatok ebben az OSZLOP-ban és azon belül ebben a SOR-ban kezdődnek
Dim MySrcColumn, MySrcColumnFirstCell As String
'tartomány, amit a makró a MySrcColumn és MySrcColumnFirstCell értéke alapján határoz meg/generál
Dim MySrcRange As Range
'a feldolgozott adatokat ebbe a tartmányba írja a makró
Dim MyDestRange As Range
'a MySrcRange tartományban található aktuális cella tartománya (1 cella)
Dim MyCell As Range
'Variant típusú dinamikus tömb, ami az N számosságú halmaz N0 - N-1 elemét tárolja
Dim MyUniqueSubStrArray() As Variant
'Variant típusú dinamikus tömb, ami az N számosságú halmaz N0 - N-1 elemének feldolgozottságát tárolja (True/False)
Dim MyUniqueSubStrProcessedArray() As Variant
'szöveg típusú dinamikus tömb, amelynek elemei az aktuális cella
'SPLIT parancs segítségével, MYDELIMITER paraméterrel elválasztott elemeit tartalmazza
Dim MyTempArray() As String
'átmeneti változó
Dim MyTempStr As String
'átmeneti változó, ami meghatározza, hogy a MyTempStr változó szerepel-e a MyUniqueSubStrArray-ben
Dim MySubStr As Variant
'nem megfelelő cella adat esetén megjelenő ablak visszatérési értéke
Dim SelectedOptionOnWarningBox As Integer
'makró-ciklusokban használt Long típusú változók (ciklus-számlálók)
Dim i, j As Long
'hogy gyorsabb legyen a makró, pár eseménykezelőt letiltunk
Application.ScreenUpdating = False
Application.EnableEvents = False
'[EZT KELL BEÁLLÍTANOD] - forrástartomány kezdetének beállítása (itt a példában A1) innen kezdődnek a feldolgozandó adatok
MySrcColumn = "A"
MySrcColumnFirstCell = "1"
Set MySrcRange = Range(MySrcColumn & MySrcColumnFirstCell & ":" & MySrcColumn & Cells(Cells.Rows.Count, MySrcColumn).End(xlUp).Row)
'[EZT KELL BEÁLLÍTANOD] - ettől a tartománytól kezdve írodnak ki a feldolgozott adatok (itt a példában B1-től)
Set MyDestRange = Range("B1")
'dinamikus tömbök méretének beállítása, egyéb változók inicializálása
ReDim MyUniqueSubStrArray(Cells(Cells.Rows.Count, MySrcColumn).End(xlUp).Row)
ReDim MyUniqueSubStrProcessedArray(Cells(Cells.Rows.Count, MySrcColumn).End(xlUp).Row)
MyTempStr = ""
i = 0
j = 0
'végignézzük a forrástartomány celláit egyenként
For Each MyCell In MySrcRange
'ha az aktuális cella üres, akkor kihagyjuk, egyébként feldolgozzuk
If Not IsEmpty(MyCell.Value) Then
'aktuális cellát feldaraboljuk az elválasztó-karakter szerint, kvázi, mint szövegből oszlopok
MyTempArray = Split(MyCell.Value, MYDELIMITER)
'kötött formátum szerint a MyTempArray elemeinek a száma 5-nek kell, hogy legyen
'ezért megvizsgáljuk, hogy annyi-e
If WorksheetFunction.CountA(MyTempArray) = 5 Then
'igen, 5 eleme van a tömbnek
'a MyTempStr dinamikus tömbbe bemásoljuk a MyTempArray első 4 elemét
MyTempStr = MyTempArray(0) + MYDELIMITER + MyTempArray(1) + MYDELIMITER + MyTempArray(2) + MYDELIMITER + MyTempArray(3)
'megvizsgáljuk, hogy a MyUniqueSubStrArray tömb elemei (az összes) tartalmazzák-e a MyTempStr-t
MySubStr = Filter(MyUniqueSubStrArray, MyTempStr)
'ha igen, akkor az elemeire bontott értékeket a MyDestRange + j + index címre másoljuk
'és a MyUniqueSubStrProcessedArray aktuális indexű elemét TRUE-ra állítjuk
'hogy a továbbiakban ne kelljen feldolgozni
If UBound(MySubStr) < 0 Then
MyUniqueSubStrArray(i) = MyTempStr
MyUniqueSubStrProcessedArray(i) = False
If (InStr(1, UCase(MyCell.Value), UCase(MyUniqueSubStrArray(i)), vbTextCompare)) And (MyUniqueSubStrProcessedArray(i) = False) Then
Cells(MyDestRange.Row + j, MyDestRange.Column) = MyTempArray(0) + MYDELIMITER + MyTempArray(1)
Cells(MyDestRange.Row + j + 1, MyDestRange.Column) = MyTempArray(0) + MYDELIMITER + MyTempArray(1) + MYDELIMITER + MyTempArray(2)
Cells(MyDestRange.Row + j + 2, MyDestRange.Column) = MyTempArray(0) + MYDELIMITER + MyTempArray(1) + MYDELIMITER + MyTempArray(2) + MYDELIMITER + MyTempArray(3)
Cells(MyDestRange.Row + j + 3, MyDestRange.Column) = MyCell.Value
j = j + 4
MyUniqueSubStrProcessedArray(i) = True
End If
i = i + 1
Else:
'ha nem, akkor az adott cella értékét be kell másolni a MyDestRange + j címre
Cells(MyDestRange.Row + j, MyDestRange.Column) = MyCell.Value
j = j + 1
End If
Else:
'ha nem megfelelő a kötött formátum, akkor feltesszük a kérdést, hogy mi legyen
'kihagyja a makró a feldolgozásból, avagy kilépjen
SelectedOptionOnWarningBox = MsgBox("Nem szabványos formátumú adat a(z) " & MyCell.Address & " cellában:" & vbLf & _
MyCell.Value & vbLf & vbLf & _
"[OK] - hibás cella kihagyása" & vbLf & _
"[Mégse] - makró megállítása", vbQuestion + vbOKCancel)
If SelectedOptionOnWarningBox = vbCancel Then
Exit Sub
End If
End If
End If
Next MyCell
'eseménykezelőket újra engedélyezzük
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
[ 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)
-
félisten
Lehet egy buta kérdésem? Ez miért/mire kellene? (rengeteg feladatra lehet alkalmazni)
Amúgy ha megoldható és ha tudunk, segítünk.[ 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)
-
félisten
válasz marec1122 #49641 üzenetére
Nem tudom milyen verziójú Excel-t használsz, de az újabbakban van lehetőség CSV UTF-8 formátumban menteni.
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)
-
félisten
Tehát felcsatolt/hálózati meghajtón lévő fájl esetében van gond, akkor ezt próbáld meg.
Lehet, hogy a Megbízható helyek engedélyezése saját hálózaton opció engedélyezése önmagában megoldja a gondot, ha nem, akkor meg add hozzá almappákkal együtt a hálózati útvonalat.[ 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)
-
félisten
válasz marec1122 #49645 üzenetére
1.
nem igazán értem, hogy minek kell lecserélni a pontosvesszőt vesszőre, amikor az importáláskor mind új felületen, mind a régi felületen is van lehetőség az elválasztó karakter kiválasztására
Bocsesz, Outlook-ba szeretnéd importálni az adatokat, ott meg vesszővel elválasztott CSV-t vár...2. lehet, hogy pont magadat szivatod meg, mert az a progi, amivel lecseréled a pontosvesszőt vesszőre, lehet az cseszi el a karakterkódolást, amikor elmented...
Ügyelj rá, hogy a progi felismerje automatikusan az UTF-8 kódolást(bár az Excel valójában UTF-8 BOM kódolással ment asszem), ha nem, akkor állítsd be neki ill. hogy mentéskor is UTF-8-ba legyen mentve vagy ha így sem jó, akkor UTF-8 BOM-ba. Ez utóbbi a Notepad++ -al megoldható.[ Módosította: Pyttawrx ]
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)
-
félisten
-
félisten
válasz marec1122 #49654 üzenetére
Akkor kicseszünk a rendszerrel (szó szerint)...
1. zárd be az Excel-t
2. WIN gomb megnyom és kezd el begépelni, hogy régió majd kattints a Régió (vezérlőpult) elemre
3. a megjelenő ablak Formátumok fülén jegyezd fel, hogy min áll jelenleg a Formátum, ha ez meg van, akkor állítsd át (mint a képen) Angol (Egyesült Királyság)-ra, alkalmaz és OK
4. indítsd el az Excelt, Exportáld ki az adatokat, de ne az UTF8-t válaszd, hanem a "sima" CSV (pontosvesszővel tagolt) formátumot. Mivel rendszerszinten módosítottuk a régiót angolra, így az elválasztó karakter vessző lesz, és vesszővel elválasztott fájlt fogsz kapni.
5. zárd be az Excel-t, 2.-3. pontban leírt módon állítsd vissza az eredeti formátumra a rendszert (ezért kellett, hogy korábban meg- vagy feljegyezd mi is volt)
6. csak ha az 5. ponton túl vagy, csak akkor indítsd el az Outlook-t, ami most már meg fogja enni ezt a CSV-t, és az ékezetes karaktereket sem cseszi el.[ 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)
-
félisten
válasz marec1122 #49654 üzenetére
Kipróbáltam most direkt notepad++-al is, CSV pontosvesszővel tagoltként CSV-ként mentettem el, betöltöttem npp-be, nem állítottam semmit, csak lecseréltem a pontosvesszőket vesszőkre, CSV-ként mentettem, az Outlook simán megette és nem cseszte el a karaktereket...
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)
-
félisten
válasz föccer #49695 üzenetére
Az Excel jellemzői és korlátai
mint láthatod, van "egy pár" korlát, de elsőre -mivel nekiálltál szűrözni- talán az lehet a gond, hogy egy adott szűrő több, mint 10000 sort jelenítene meg...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)
-
félisten
Ennek a kérdésnek semmi értelme, mert:
1. Teljesen lényegtelen, hogy egy adott XLS/XSLX táblázatot mikor nyomtattál ki, ha közben eltelt 1 év... (pl. 1 éve kinyomtattál egy Excel táblát, de 1 órája meg nyomtattál akármit...)
2. Az OS automatikusan hozzárendeli a fájlhoz, az utolsó nyomtatási idejét, de ez nem mérvadó, lásd feljebb... (jobb egér a fájlon, tulajdonságok/részletek fül -> utolsó nyomtatás dátuma)Szóval, ha nem akarod, hogy beszáradjon a masina (van benne tapasztalatom, most már kb. 7-9 éve az ECO Tank Epson-okkal), akkor minden hónapban 1x nyomtass ki egy szines képet, jó minőségben, oszt' ennyi...
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)
-
félisten
BÚÉK mindenkinek...
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)
-
félisten
válasz Delila_1 #50173 üzenetére
Ez jó vót', de tényleg...
Puszi a hasadra, meg egy araszra lejjebb kis Hölgy, de tényleg...
(Na most leszek kitiltva)UI: Olybá' tűnik, hogy 2 hónapon belül megyünk, Debrecenbe... Majd szólok, ha igaz...
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
Új hozzászólás Aktív témák
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Alpha Laptopszerviz Kft.
Város: Pécs