- Android alkalmazások - szoftver kibeszélő topik
- Íme, a Huawei Pura 70 széria
- Elérhető Európában a Samsung Galaxy M15 és M55
- Apple iPhone 15 Pro Max - Attack on Titan
- Vodafone mobilszolgáltatások
- Ismerős külsővel érkezik a Polestar telefon
- Samsung Galaxy A54 - türelemjáték
- OnePlus 7 Pro - hétpróba
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Samsung Galaxy S22 Ultra - na, kinél van toll?
Hirdetés
-
Toyota Corolla Touring Sport 2.0 teszt és az autóipar
lo Némi autóipari kitekintés után egy középkategóriás autót mutatok be, ami az észszerűség műhelyében készül.
-
Alsó-középkategóriás, PlayStation 5-be is helyezhető M.2 SSD-t virított a Klevv
ph A háromféle változatban készülő, egyoldalas típus simán megugorja a 6-7 GB/s-os sebességszintet.
-
Nem igaz, hogy indiaiak működtetik az Amazon pénztármentes technológiáját
it A saját boltjaiban már nem erre a technológiára építene az Amazon, de külsős üzletekben egyre több helyen alkalmazzák a pénztármentes megoldását. Azt mondják, tévhit, hogy indiai emberek figyelik a vásárlókat a rendszer helyett.
-
Mobilarena
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
-
sztanozs
veterán
válasz Delila_1 #34997 üzenetére
Általánosságban lehet, hogy egy range selctor kellene és akkor lehetne használi azzal az öszes beépített függvényt:
Function SzinSzerint(mintacella As Range, tartomany As Range) As Range
Set SzinSzerint = Nothing
Dim CV As Object
For Each CV In tartomany.Cells
If CV.Interior.Color = mintacella.Interior.Color Then
If SzinSzerint Is Nothing Then
Set SzinSzerint = CV
Else
Set SzinSzerint = Application.Union(SzinSzerint, CV)
End If
End If
Next
End FunctionJOGI 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...
-
sztanozs
veterán
válasz sztanozs #35001 üzenetére
Persze ennek is ugyanaz a baja, mint az Excel4 GET.CELL hívásnak - az újraszínezés nem generál change eseményt, így még a manuális (F9) Calculate sem számotatja újra az értéket, csak az Edit (F2) + Enter...
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...
-
mayer.tamas
csendes tag
Sziasztok,
Egy talán egyszerű kérdéssel fordulnék hozzátok, remélem tudtok segíteni.
Van 2 táblázatom, melynek mind a kinézete, mind az oszlopai (elnevezésben is) megegyeznek egymással.
Tulajdonképpen a 2 táblázat egymás másolata, csak az adatok frissülnek az új másolatban.
Az egyik táblázat a reggeli állapotot adja vissza, a másik pedig a délutánit.Napközben a táblázat sorai részben törlődnek, részben kiegészülnek új sorokkal.
A táblázatban vannak a sorok mögött megjegyzések, melyeket manuálisan viszek fel minden reggel annak függvényében, hogy az adott soron levő munka milyen fázisban van.
Délután mikor lehúzom a frissített listát, akkor lesz ami idő közben elkészült, így az nincs benne az új táblázatban, viszont lesz ami nem készült még el, az benne marad.
A reggeli táblázatban levő olyan sorok mögött levő megjegyzések, melyek nem lettek kész nap közben és megmaradtak és az új táblázatban is benne vannak, azokat szeretném átvenni valamilyen képlettel, jelenleg ezt manuálisan csinálom.
2 oszlop az amit figyelni kell, mely alapján lehetne egyértelműen azonosítani, hogy melyik sorról beszélünk.
Hibaszám és állomás.Lenne esetleg ötlete valakinek, hogy milyen megoldással lehetne hivatkozni egyikről a másikra, hogy átvegye a megjegyzéseket és ne kelljen manuálisan átmásolgatnom?
Segítségeteket előre is kösznöm.
Üdv.
-
Delila_1
Topikgazda
válasz mayer.tamas #35004 üzenetére
Tulajdonképpen a 2. táblázatban azoknak a rekordoknak kell szerepelniük, amik kész vannak?
Ha igen, nem kell külön táblázat. Az elsőről készíts kimutatást, amiben szerepel az az oszlop, ami tartalmazza a megjegyzést. Ezt szűrheted aszerint, hogy kész van-e, vagy nincs.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
mayer.tamas
csendes tag
válasz Delila_1 #35005 üzenetére
Szia,
Próbálom leírni, hogy konkrétan mi most a folyamat.
Van egy saját helpdesk szoftverünk amiből a jelenleg nyitott hibákat kiexportálom excelbe.Itt különböző makrókkal szerelői csoportokra szedem, illetve tervszerű munkákat külön válogatom.
Ezek 2 kattintással elkészülnek.A táblázat minden esetben csak a nyitott hibákat tartalmazza.
Reggel lehúzok egy friss listát a hibákról és megcsinálom ezt a táblázatot, amit leegyeztetek a szerelőkkel, beütemezzük javításra (ezek kerülnek megjegyzésként a sorok végére)
Majd a nap végén megteszem újra ugyanezt ugyanezzel a táblázattal (előtte mentés másként új névvel), de előtte törlöm ezeket a megjegyzéseket és makróval újra szétszedem és frissítem az adatokat.
Ebben már lesznek változások a reggelihez képest, mert napközben jöttek újabb hibák és időközben el is készültek.
Tehát nem tudom egy az egyben visszatenni a megjegyzéseket, hanem soronként össze kell hasonlítanom a reggeli táblázat soraival és ott ahol egyezik a sor, átmásolom a megjegyzéseket.
Remélem így érthetőbb.
-
sztanozs
veterán
-
Delila_1
Topikgazda
válasz mayer.tamas #35006 üzenetére
Lehet rá írni makrót, csak ahhoz ismerni kell a lapok felépítését.
Ma már semmiképp nem, de ha leírod, melyik oszlopokat kell összehasonlítani a 2 lapon, holnap megírom – feltéve, hogy addig nem kapsz választ.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Fferi50
őstag
válasz csferke #35012 üzenetére
Szia!
Szerintem azért van így, mert 2 munkafüzet és 2 projekt van nyitva. A rövidebb elnevezés az éppen aktuális projektben (aktív munkafüzetben) levő makrókat "illeti", a hosszabb - a munkafüzet ill. project nevével "kibővített", teljes név pedig a másikban levőt.
Hivatkozni és elindítani a nem aktív munkafüzetben levő makrót csak teljes névvel lehet. Ez rendszerszintű szabály.
Sőt, osztálymodulban levő makrót csak az osztálymodul nevével kibővítve tudsz elindítani az aktív munkafüzetben is.
Ez a szabály érvényes a változókra is.
Több információért nézd át lsz. a változók deklarálása és élettartama fejezetet, illetve a makrók meghívása, futtatása részt a HELP-ben.Üdv.
-
Fferi50
őstag
válasz csferke #35014 üzenetére
Szia!
A problémát az okozza, hogy a modul neve és a makró neve is ugyanaz. Most kipróbáltam. Ha a modult nevezem át előbb és utána írok bele ugyanolyan nevű makrót, akkor a makróablakban teljes névvel jelenik meg. Amikor előbb írom meg a makrót és utána nevezem át ugyanazon névre a modult, akkor a makró ablakban a rövid név látható. DE csak addig, amíg újabb modult nem adok hozzá. Ha bezárom a fájlt és újranyitom, akkor is a hosszú nevét látom.
A VBA-ban nem tiltott a rendszer által "foglalt" nevek használata, de ebben az esetben pontosan meg kell mondani (akár hosszú névvel is), hogy rendszer dologra, vagy saját - azonos nevű - dologra hivatkozunk.Tehát esetedben a teendő: átnevezni vagy a makrót, vagy a modult.
Üdv..
[ Szerkesztve ]
-
Hun91FaTe
csendes tag
válasz Delila_1 #30058 üzenetére
Ezzel kapcsolatban lenne még egy kérdésem, hogy valahogy meg lehet azt csinálni, hogy ha alkalmazom a képletet, a cellában fixen írja bele az eredményt, ne változzon többet. Ez azért is fontos lenne, mert után arra a cellára hivatkozva számoltatnék tovább, ahol ugyanúgy hibát dob. Köszi előre is!
-
batmanéhes
tag
üdv. van egy named range-em definiálva:
=INDEX(resources!$E$43:$E$48;MATCH(resources!$C43;resources!$D$43:$D$48;0))
ez 1 cellát ad vissza. a célom, hogy ezt az értéket, illetve e mellett 0-t is ki tudjon választani gizike a data validationban.
arra nincs lehetőségem, hogy a 0-kat minden esetben az index által visszaadott cella mellé tegyem, azaz nem tudok összefüggő ranget csinálni.
mindeddig nem sikerült a data validation listbe az =namedrange mellé további listaelemet felvenni.
ha van valakinek ötlete, megköszönöm.
-
sztanozs
veterán
válasz batmanéhes #35018 üzenetére
Nem egészen sikerült megértenem, hogy mit szeretnél (lehet, hogy csak a cukorsokk miatt) - tudnál valami vizuális segédletet adni, hogy mit szeretnél?
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...
-
sztanozs
veterán
válasz sztanozs #35019 üzenetére
De ahogy nézem elsőre nem tűnik megoldhatónak (hacsak nem VBA-val gyártod le a listát):
You may not use unions, intersections, or array constants for Data Validation Criteria.
The list source must be a delimited list, or a reference to a single row or column.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...
-
batmanéhes
tag
válasz sztanozs #35019 üzenetére
egy olyan data validation lenyíló listát, amiben egyrészt 0, másrészt egy dinamikusan, függvény által visszaadott érték szerepel.
olyasmit képzelj el, mint egy dinamikusan képzett data validation lista (amikor nem fixen adsz meg tartományt, hogy ne legyenek üres sorok a lenyílóban pl.). nekem az a bajom, hogy nem tudok egy egybefüggő tartományt képezni. illetve worst case tudnék, csak elég randa ügy lenne.
a vizuálás nem sokat dobna a legelső mondatban megfogalmazotton. d emegpróbálom egyszerű példával:
data validation --> list --> a validation list meg valahogy így nézne ki: =IF(A2=1;1;0) ; "valami" ; "valamimás"
ez a " ; " szintax ugye nem működik, mert úgy néz ki vagy minden listaelem szöveg, vagy egy függvény.
-
sztanozs
veterán
válasz batmanéhes #35021 üzenetére
Igen, erre írtam, hogy szerintem csak VBA-val tudod megcsinálni, mert nem tudsz egybefüggő elemeket alkotni.
Mondjuk így végiggondolva megoldható, csak kell egy rejtett sheet, aminek az első eleme egy 0, utána pedig mondjuk ~100 elem, ami egy Tömbfüggvénnyel van feltöltve a named-ranged-del, így:.
A
1 '0
2 {=ValidationList}
3 {=ValidationList}
4 {=ValidationList}
...
99 {=ValidationList}A ValidationExtended Named Range meg így néz ki:
=OFFSET(hiddensheet!$A$1,0,0,COUNTIF(hiddensheet!$A$1:$A$99,">'"),1)
Fontos viszont, hogy a calculation ne legyen kikapcsolva...
[ 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...
-
pigster
senior tag
válasz batmanéhes #35021 üzenetére
FIGYELEM! A többszázezres Samsung okostévék kéretlen reklámokat tolnak az arcodba.
-
Mentavirág
újonc
Sziasztok! Egy olyan kérdésem lenne, hogy van-e lehetőség az adatok tömeges cseréjére az Excelben, úgy, hogy több számot egyszerre ugyanarra az információra cserélek ki?
Van egy munkalapom, amin rendelések szerepelnek: az első oszlopban az adott megrendelő azonosítója, a mellette levő oszlopokban pedig hogy melyik (hányadik) napokon rendelt.
Ezeket szeretném egységesíteni, mert csak arra lennék kíváncsi, hogy az illető milyen napon (hétfő/kedd/stb.) adta le a rendelését. Elsőként arra gondoltam, hogy egy másik munkalapra készítek egy táblázatot, amiben minden szám mellett szerepel, hogy az milyen nap (pl. 434. nap = szerda), de sajnos nem találok függvényt amivel ki tudnám cserélni az adatokat. Valakinek van esetleg valamilyen ötlete erre?
(2016-os Excelt használok.)[ Szerkesztve ]
-
Fferi50
őstag
válasz Mentavirág #35025 üzenetére
Szia!
Próbáld ki az alábbit:
=VÁLASZT(HÉT.NAPJA(MA();2);"HÉTFŐ";"KEDD";"SZERDA";"CSÜTÖRTÖK";"PÉNTEK";"SZOMBAT";"VASÁRNAP")
A MA() függvény helyére írod az adott cella címét, amelyik a dátumot tartalmazza.
A hanyadik napot nem egészen értem, az év elejétől eltelt napot tartalmazza, nem pedig az adott dátumot? Mondjuk a 434. nap elég érdekes szám...Üdv.
[ Szerkesztve ]
-
logitechh
csendes tag
Sziasztok köszöntök mindenkit!
Most ismerkedem a makrókkal és lenne egy pár kérdésem:
Már sikerült összehoznom egy makrót az irányított beillesztésre de szeretném összefűzni, a makró indítás után megkeresse a B oszlopban az utolsó adatot tartalmazó sort. Majd az egyel alatta lévő sorra álljon a kurzor és oda irányított beillesztéssel illessze be a vágó lapon lévő adatot 4 oszlopnyi adatot.
Aztán az A oszlopon ismételten keresse meg az utolsó adatot tartalmazó cellát és alatta mindig növelje 1 el az értéket( kvázi sorszámot generáljon.
Végül az egész táblázatot jelölje ki(próbáltam makró rögzítővel a CTRL+A billentyű parancsot felvenni de csak annyit rakott be amekkora a táblázat)mert utána a formáznám a szegélyt.
Remélem érthetően írtam és tudtok segíteni
Köszönöm szépen[ Szerkesztve ]
-
poffsoft
addikt
válasz logitechh #35027 üzenetére
Ha már egyszer megtaláltad az utolsó sort, minden adatod meglesz:
Cells(usor, 1)=cells(usor-1, 1)+1
Az irányított beillesztéshez a cells(usor, 2).select kell, utána jöhet a makrórógzítőből a pastespecial.
A táblázatod pl. a range(cells(2, 1), cells(usor, 12)) lesz...[ Szerkesztve ]
[ Szerkesztve ]
-
logitechh
csendes tag
válasz poffsoft #35028 üzenetére
Hali
ebből semmit nem vágok
Sub iranyitott_beillesztes()
'
' iranyitott_beillesztes_ Makró
''
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Subebben a történetben hol szerepel a te általad leírt dolog
Rengeteg makrót találtam ami megadj az utolsó sor számát de azt nem tudom elérni hogy a B oszlop utolsó üre sorába áljon a kurzor vagyis hogy onnan kezdődjön a beillesztés -
poffsoft
addikt
.
[ Szerkesztve ]
[ Szerkesztve ]
-
poffsoft
addikt
válasz logitechh #35029 üzenetére
Sub iranyitott_beillesztes()
'
' iranyitott_beillesztes_ Makró
'
'
Dim usor As Long
usor = Range("A" & Rows.Count).End(xlUp).Row +1
Cells(usor, 1)=Cells(usor-1, 1)+1
Cells(usor, 2).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range(Cells(2, 1), Cells(usor, 12)).Select
'
' itt jöhet a szegélyezés
'
Cells(usor, 1).Select
End Sub[ Szerkesztve ]
[ Szerkesztve ]
-
poffsoft
addikt
válasz poffsoft #35032 üzenetére
Vagy egyszerűbben:
Sub iranyitott_beillesztes()
'
' iranyitott_beillesztes_ Makró
'
'
Dim usor As Long
usor = Range("A" & Rows.Count).End(xlUp).Row +1
Cells(usor, 1)=Cells(usor-1, 1)+1
Cells(usor, 2).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range(Cells(2, 1), Cells(usor, 12)).Select
'
' itt jöhet a szegélyezés
'
Cells(usor, 1).Select
End Sub[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz logitechh #35027 üzenetére
Sub mm()
Dim usor As Long
usor = Range("B" & Rows.Count).End(xlUp).Row + 1
'ide jön a "4 oszlopnyi adat" másolása, például
'range("B" & usor-1 & ":E" & usor-1).copy
'Fontos, hogy az irányított beillesztés előtt legyen Copy parancs
Range("B" & usor).PasteSpecial xlPasteValues
usor = Range("A" & Rows.Count).End(xlUp).Row + 1
Range("A" & usor) = Range("A" & usor - 1) + 1
End SubA keretezéshez a tartomány kijelölése
Range("A1").CurrentRegion.Select
Még a select sem szükséges.
With Range("A1").CurrentRegion
.BorderAround LineStyle:=xlContinuous, Weight:=xlMedium
.Borders(xlInsideVertical).Weight = xlThin
.Borders(xlInsideHorizontal).Weight = xlThin
End WithEz a makró körbe vastagabb, belül véknyabb szegélyt ad a tartományodnak.
[ 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.
-
logitechh
csendes tag
válasz poffsoft #35032 üzenetére
Kösszi neked is és Dellila_1-nek is(az övére nem tudok válaszolni mert azt írja ki,hogy várjak türelemmel amíg valaki válaszol a hozzászólásomra)
úgy látom két részre kell szednem a beillesztést és a sorszámozást mert valamiért mindig csak egyel növeli a sorszámot függetlenül hogy hány sornyi adatot illesztek be.Ez mind a kettőtök makrójánál fent áll.
De baromira megkönnyítettétek a munkám.[ Szerkesztve ]
-
poffsoft
addikt
válasz logitechh #35035 üzenetére
Azt nem mondtad, hogy több sor is.
Sub mm()
Dim usor As Long
Dim i As Integer
usor = Range("B" & Rows.Count).End(xlUp).Row + 1
'ide jön a "4 oszlopnyi adat" másolása, például
'range("B" & usor-1 & ":E" & usor-1).copy
'Fontos, hogy az irányított beillesztés előtt legyen Copy parancs
Range("B" & usor).PasteSpecial xlPasteValues
For i = Range("A" & Rows.Count).End(xlUp).Row to Range("B" & Rows.Count).End(xlUp).Row
Range("A" & i) = Range("A" & i - 1) + 1
Next i
End Sub[ Szerkesztve ]
[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz logitechh #35035 üzenetére
Itt válaszoltam, közel 1 órával a hozzászólásod előtt.
Melyik területre illesztesz be "oszlopokat", és ezt hogy érted? Pl. a B12:M20 tartományba? A sorszámok ekkor az A12:A20 tartományba kellenek, folytatva az A11 értékétől?
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Mentavirág
újonc
válasz Fferi50 #35026 üzenetére
Köszönöm a választ! Sajnos nincs konkrét dátum, csak adott napok, és annyit tudni, hogy az 1. nap hétfő volt. Maga a munkalap így néz ki:
Ebben szeretném kicserélni a számokat arra, hogy hétfő, kedd stb.
A másik táblázat, amit készítettem hozzá, így néz ki (az eleje):Arra gondoltam, hogy valahogy ez alapján szeretném kicserélni tömegesen a számokat a másik munkalapon, de nem tudom, hogy erre van-e lehetőségem Excelben?
-
logitechh
csendes tag
válasz Delila_1 #35037 üzenetére
Hali!
Nem tudom miért írta ki azt hogy várjak türelemmel de majd legközelebb kifotózom. de az volt a furi hogy senki más hozzászólására nem tudtam reagálni.
Tehát küldik ezt a munkalapot:
majd én ebből kiásolom amit kell Coszloptól F oszlopig .
erre már megcsináltam a makrót hogy szűr és másol.
Az innen kimásolt értékeket illesztem be ide:
B oszloptól az E oszlopig . Ez lehet egyszerre akár 50 sor is de ez változó.
Majd az F oszloptól az L oszlopig az újjonan beillesztett sorokba szeretném lemásolni a képleteket:
csak erre szeretnék makrót mert amit makrórögzítővel veszek fel és módosítok mindig csak egy sort sikerül másolni és beilleszteni.És ha mondjuk 45 sort illesztek be az B oszloptól F oszlopig akkor ugyan úgy 45 sorba kellene beilleszteni a képleteketEzután szeretném az A oszlopot sorszámozni.
a keretezés az már megvan ahogy a Delila_1 megmutatta.[ Szerkesztve ]
-
poffsoft
addikt
válasz logitechh #35039 üzenetére
egyszerűbb lett volna az elején elmondanod, mik vannak.
Sub mm()
Dim Asor As Long
Dim Bsor As Long
Dim i As Integer
Asor = Range("A" & Rows.Count).End(xlUp).Row + 1
Range("B" & Asor).PasteSpecial xlPasteValues
Bsor = Range("B" & Rows.Count).End(xlUp).Row + 1
Range("F2:L2").Copy destination:=Range("F" & Asor &":F" & Bsor)
For i = Asor To Bsor
Range("A" & i) = Range("A" & i - 1) + 1
Next i
End SubSzerintem a rangod miatt nem enged válaszolni...
[ Szerkesztve ]
[ Szerkesztve ]
-
Fferi50
őstag
válasz Mentavirág #35038 üzenetére
Szia!
Ha jól értettem a válaszod, vagyis az első nap (induló nap) hétfő volt, akkor a 7-tel való osztás maradéka adja meg a nap nevét:
=VÁLASZT(MARADÉK(B2;7)+1;"VASÁRNAP";"HÉTFŐ";"KEDD";"SZERDA";"CSÜTÖRTÖK";"PÉNTEK";"SZOMBAT")
Üdv.
-
Delila_1
Topikgazda
válasz Mentavirág #35038 üzenetére
Az Egyéni listák-ban (elérése az Excel beállításai | Népszerű elemek | Egyéni listák szerkesztése) eleve szerepel a H, K Sze, Cs, P, Szo, V lista. Az első cellába beírod a H-t, majd lehúzod.
Még lehúzni sem kell, mivel mellette balra kitöltött cellák vannak az oszlopban. A H beírása után a cella
jobb alsó sarkában lévő kis fekete négyzeten duplaklikk végig megadja a napokat.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
kezdosql
tag
Excel hibakezelesben illetve adatvisszaallitasban van valakinek tapasztalata?
Egy excel fajlt - kb. 3 mb, 4 kulonallo lapbol allo munkafuzet - pendrajvon visznek PC-rol PC-re, mindenki beirja a sajat adatat es megnezi a tobbiek uj beirasait.
Ma reggel minden peldanya - mindharom pc-n es a pendrajvon levo is - kozolte, hogy nem teljesen olvashato a fajl, javitani kell.
A javitast engedelyeztem, mindenhol ugyan az az uzenet jott, hogy az adatvisszallitas sikerult, de adatvesztes lehet. Felajanlott egy linket, hogy reszletesen meg lehet nezni a hibakat, de az ie cask egy xml fajlt nyitott meg, ahol beture ugyan ez a szoveg volt olvashato.Mindharom helyen azt lattam, hogy a datum mezok altalanos mezokre valtoztak es otjegyu szamok jelentek meg, visszaallitottam datum tipusra, es latszolag minden rendben volt. A biztonsag kedveert uj fajlkent elmentettem oket. Ekkor kiderult, hogy 100kb es 250 kb meretbeli kulonbseg van a fajlok kozott.
Mind a negy lapon 2-3 ezer sorbol es 10-40 oszlopbol allo tablazat van, igy teteles osszehasonlitas csak ugy menne, ha mindent kinyomtatnank es osszepipalnank, az is napokig tartana.
Hogyan lehet megtudni, milyen hibakat talalt es milyen cellakat modositott a program?
-
Delila_1
Topikgazda
válasz kezdosql #35043 üzenetére
Nyiss egy új füzetet, amibe bemásolod a régi, és a javított fájl 1-1 lapját. A harmadik, üres lapon az A1-be írd be:
=EgyikLap!A1=MásikLap!A1
Természetesen a lapok igazi neve szerepeljen. A képletet húzd jobbra a kitöltött oszlopok szélességéig, és le, az utolsó sorig. Az egyezésnél IGAZ, az eltérésnél HAMIS értéket kapsz.
Jöhet a következő két lap összehasonlítása.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
logitechh
csendes tag
válasz poffsoft #35040 üzenetére
Picit finomítani kellett mert az A oszlopban és az F:L tartományban egyel túlfutott a másolás
Köszi mindenkinek
felteszem a kódot hátha valaki más is hasznát vesziSub beillesztes()
'
' előre másik munkalapból kimásolt 4 oszlop szélességü tartományt beilleszt a B oszlop első üres sorától kezdve a B oszloptól az E oszlopig majd az A oszlopot kitölti sorszámmal illetve az F oszloptól az L oszlopig az F2:L2 tartomány képleteit másolja be addig a sorig ameddig a B oszlop tartalmaz elemet
'
Dim Asor As Long
Dim Bsor As Long
Dim i As Integer
Asor = Range("A" & Rows.Count).End(xlUp).Row + 1
Range("B" & Asor).PasteSpecial xlPasteValues
Bsor = Range("B" & Rows.Count).End(xlUp).Row + 1
Range("F2:L2").Copy Destination:=Range("F" & Asor & ":F" & Bsor - 1) 'a végén a -1 azt jelzi hogy nem az utlsó kitöltött sor plusz egy sorba másolja a képletet hanem csak az utolsó sorig
For i = Asor To Bsor - 1 'számláló rész a Bsor esetén plusz egy sort beszámoz viszont ha csak a kitöltött celláig akarunk számozni akkor a-1 kell
Range("A" & i) = Range("A" & i - 1) + 1
Next i
'innen kezdődik a keretezés
Range("A1").CurrentRegion.Select 'CTRL+a kijelöli a teljes táblázatot
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
End Sub
Bár nam biztos hogy szabad ennyi mindent összefűzni de szerintem így tökéletes[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz logitechh #35046 üzenetére
A keretezéshez célszerűbb ez a rövid változat. Az Around egyszerre határozza meg a bal, jobb, alsó és felső keret paramétereit.
With Range("A1").CurrentRegion
.BorderAround LineStyle:=xlContinuous, Weight:=xlThin
.Borders(xlInsideVertical).Weight = xlThin
.Borders(xlInsideHorizontal).Weight = xlThin
End WithProgramozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
DasBoot
aktív tag
Szép napot, Mindenkinek! Azt kérdezném, hogy létezik-e olyan betűtipus, ami olyan, mint a hétszegmenses kijelzők. MSExcel-ben cellákban szeretnék csak számokat megjeleníteni egy külső eszközből származó időzítőből. Üdv.: Joe
[ Szerkesztve ]
LEGO-ból bármit megépíteni, csak idő kérdése.
Új hozzászólás Aktív témák
- Microsoft licencek a legolcsóbban - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! LEGOLCSÓBB! Automatikus 0-24
- Bontatlan - BATTLEFIELD 1 Collectors Edition - Játékszoftver nélkül
- Canva Pro előfizetés - 1 éves
- Eredeti Windows! Digital Doctor Számítógép Szerviz