- Kábeleket és csövezést rejtő "kirakatház" a GameMax logójával
- Felvarrták az Arctic rackmount rendszerekhez szánt CPU-hűtőjének ráncait
- Háromféle kivitelben, és nem kis kapacitásokkal jönnek a Micron 6550 ION SSD-i
- Már a Samsung sem szolgálja ki modern AI lapkákkal Kínát
- Havazáshoz igazított kiadás kap a Steam Deck OLED
- Épített vízhűtés (nem kompakt) topic
- Vezetékes FEJhallgatók
- Melyik tápegységet vegyem?
- Durva lett a Lian Li motorizált asztala
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Milyen notebookot vegyek?
- Kormányok / autós szimulátorok topikja
- Még javulhat az Arrow Lake-S platform teljesítménye
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- AMD FX
-
PROHARDVER!
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
-
zagoston
csendes tag
Sziasztok!
Lenne egy problémám, amire egy itt edződött, jól felkészült Guru talán tud megoldást.
A munkahelyemen olyan excel táblákkal dolgozunk, amiknek több munkalapja is van.
A munkalapok ugyanazok, viszont lapvédelemmel vannak ellátva.A kérdésem az lenne, hogy van-e lehetőség egyszerre több munkalapon is módosítani a lapvédelmet...
Tehát adott esetben az összes munkalapról levenni ill. feltenni.Előre is köszönöm!
Üdv
[ Szerkesztve ]
-
félisten
válasz zagoston #8651 üzenetére
Tudtommal Excelből csak egyesével lehet ki- és bekapcsolni a lapvédelmet, de makróval megoldható, hogy az összeset levédd. Az első kód bekapcsolja(jelszóval védve), míg a második meg feloldja a lapvédelmet, az összes munkalapon
Private Sub CommandButton1_Click()
For i = 1 To Sheets.Count
Sheets(i).Activate
ActiveSheet.Protect Password:="FSCD"
Next i
Sheets(1).Select
End Sub
Private Sub CommandButton2_Click()
For i = 1 To Sheets.Count
Sheets(i).Activate
ActiveSheet.Unprotect Password:="FSCD"
Next i
Sheets(1).Select
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)
-
zagoston
csendes tag
válasz Fire/SOUL/CD #8652 üzenetére
Nagyon szépen köszönöm a gyors megoldást!
-
félisten
válasz zagoston #8653 üzenetére
Még annyit akkor, hogy ha ezt úgy akarod megoldani, hogy elkészítesz egy munkafüzetet, levéded a lapokat majd ezt usereknek oda lesz adva, akkor gondoskodni kell arról, hogy a userek ne láthassák a macro kódját, hisz akkor onnan kileshetik a jelszót, aztán simán módosítják a cellákat.
Ezt a VBA editorban így lehet levédeni
Tools menü/VBAProject Properties/Protection fül/Lock project for viewing elé pipa, jelszó megad. [link]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)
-
DopeBob
addikt
Van esetleg valakinek valami ötlete arra, hogy miért nem működik Office 2007 ben, hogy egy képletbe egy másik fájlbol linkeljek adatokat?
MZ/X
-
Mike318
csendes tag
Sziasztok! Ma találkoztam először ezzel a lehetőséggel, hogy így kérhetek segítséget a munkámhoz, szeretnék élni vele. A "Megosztásütközés miatt nem lehet menteni a fájlt... " probléma nyomait kutatom, a #6599-s HSZ-ban felmerült, így akadtam ide, de nem volt rá válasz. A raktárkezelő és számlázó programot még Excel97-ben kezdtem írni, 2003-s alatt frankón ment évekig, most cseréltünk gépet, Windows 7 + Excel2007, azóta megkeseríti az életemet ez a hiba. 10-12 fájlt mozgatok egy eladási folyamatban, és véletlenszerűen bármelyiket hirtelen egy mentésnél átnevezi egy számokból álló névre és megáll a tudomány. Tud valaki erre megoldást?
Méd csak 200 HSZ-t érkeztem elolvasni, de mély tiszteletem a GURU-k tudásának!Mindegy hogy mivel foglalkozol, csak JÓL csináld!
-
Mike318
csendes tag
Sziasztok! Az előző HSZ azt hiszem célt tévesztett . Szóval az lenne a kérdés, hogy miért találja Nem megfelelő funkció! -nak az Excel2007 az alprogram belsejében kiadott END operátort, ha az OK után minden rendben van? Előre is köszi!
Mindegy hogy mivel foglalkozol, csak JÓL csináld!
-
iwu
addikt
hali!
tudtok olyan egyszerű megoldást, ami egy adott excel fileból csinál egy újat úgy, hogy az egyik oszlopban lévő adatokból sheetneveket csinál, a többi oszlopból meg bepakolja az adott sheetbe az adatokat.
thx,
üdw,iwuajándék ló nem látja a fától a szódás a lovát...
-
iwu
addikt
válasz Delila_1 #8660 üzenetére
nah, parádé! de hát nem is gondoltam volna, hogy nem
nah, be ctrl-v-ztem a tábla első 2 sorát.egy pc leltár. ennek a táblázatnak van jópár sora.
Az kellene nekem, hogy ebből a táblából készülne egy olyan új excel tábla, aminek a sheet nevei a Computer nevű oszlopban találhatóak, és minden sheetben a computer adatai (neve ism valamint az oszlop név) megjelenne 1-1- cellában egymás alatt.Computer Domain OSname Description Manufacturer Model Clockspeed Memory Disk
Fileserver bubuka Win 2003 Server_BP2 ASUS A7V400-MX 1992 1024 48tehát ebből lenne egy olyan shhet, aminek a neve Fileserver, és a tartalma
Computer: Fileserver
Domain: Bubuka
Osname: win2003
.
..
...thx, előre is:iwu
[ Szerkesztve ]
ajándék ló nem látja a fától a szódás a lovát...
-
Mike318
csendes tag
válasz Delila_1 #8658 üzenetére
Na itt vagyok. Szóval a program végén egy SELECT CASE konstrukcióban minden ág hasonlóan végződik
Workbooks(fofnev).Save
Workbooks(akteladfajl).Close SaveChanges:=True
If hiba = 1 Then Workbooks(fofnev).Save
hiba = 0Workbooks(tfnev).Close SaveChanges:=True
Workbooks(dfnev).Close SaveChanges:=FalseEnd ' kilépés a programból
Case 2
...........stb.Erre minden esetben a Nem megfelelő funkció! üzenet jön.
Mindegy hogy mivel foglalkozol, csak JÓL csináld!
-
Delila_1
veterán
válasz Mike318 #8663 üzenetére
Az End-nek mindig tartalmaznia kell, minek a végét jelöli. A Select Case vége End Select, mint ahogy párosan szerepel az If és End If, vagy a Sub és End Sub.
Ha a példádban a subrutinból akarsz kilépni, akkor Exit Sub kell az End helyett.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Mike318
csendes tag
És a Megosztásütközés nevű probléma ezeknél a mentéseknél lép fel véletlenszerűen (most már csak 200-ból 1 (kb.)
Mindegy hogy mivel foglalkozol, csak JÓL csináld!
-
Delila_1
veterán
Régen leveleztünk, biztos a régi címemmel próbálkoztál. Inkább beírom ide a kódot. A füzetet, amiben most 1 lapon vannak az adatok, Eredeti.xls-nek neveztem el, az újat, amit a makró hoz létre, UjFuzet.xls névvel illettem.
Az útvonalat az első sorban írd át.Sub SokLap()
Const utvonal As String = "F:\Eadat\"
Dim lapsz As Integer, lap As Integer
Dim lapnev As String
lapsz = Range("A" & Rows.Count).End(xlUp).Row
Application.SheetsInNewWorkbook = lapsz - 1
Workbooks.Add
ActiveWorkbook.SaveAs Filename:=utvonal & "UjFuzet.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Windows("Eredeti.xls").Activate
For lap = 2 To lapsz
lapnev = Cells(lap, 1)
Workbooks("UjFuzet.xls").Sheets(lap - 1).Name = lapnev
Rows(1).EntireRow.Copy Workbooks("UjFuzet.xls").Sheets(lapnev).Rows(1)
Rows(lap).EntireRow.Copy Workbooks("UjFuzet.xls").Sheets(lapnev).Rows(2)
Next
Windows("UjFuzet.xls").Activate
For lap = 1 To lapsz - 1
Sheets(lap).Select
Range("A1:I2").Copy
Range("A3").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Rows("1:2").Select
Selection.Delete Shift:=xlUp
Range("A1").Select
Next
Application.SheetsInNewWorkbook = 3
End SubProgramozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
m.zmrzlina
senior tag
Nekem ezt sikerült kiötleni:
Sub valogat()
Dim sorsz As Integer
Dim holavege As Integer
Sheets("Munka1").Select
Cells(Rows.Count, 1).End(xlUp).Select
holavege = ActiveCell.Row
For sorsz = 1 To holavege - 1
Sheets.Add After:=Sheets(Sheets.Count)
Sheets(sorsz + 1).Name = Sheets(1).Cells(sorsz + 1, 1).Value
Sheets("Munka1").Select
Range("A1:I1").Select
Selection.Copy
Sheets(1 + sorsz).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Sheets("Munka1").Select
Range("A" & sorsz + 1, "I" & sorsz + 1).Select
activerow = Range("A" & sorsz + 1, "I" & sorsz + 1).Value
Selection.Copy
Sheets(1 + sorsz).Select
Cells(1, 2).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Columns("A:B").EntireColumn.AutoFit
Next sorsz
Sheets("Munka1").Delete
ActiveWorkbook.SaveAs "C:\Documents and Settings\agb\Dokumentumok\masneven.xlsm"
End SubAbból a munkafüzetből indul ahol a kiindulási lista van, elkészíti a munkalapokat igény szerint, majd törli az eredeti lista munkalapját és menti a munkafüzetet más néven.
Nem egy minden részletében kimunkált végleges megoldás inkább csak gondolatébresztő, de működik.Érdekelnének a szakértő vélemények.
-
iwu
addikt
válasz Delila_1 #8667 üzenetére
parádésan működik
annyit kiegészítést még ér kérni (sry, de nekem ez az ág teljes homály), hogy az oszlopszélesség a legszélesebb szöveghez igazodjon és legyenek az oszlopok balra igazítva?m.zmrzlina, a Te megoldásod is jól működik
[ Szerkesztve ]
ajándék ló nem látja a fától a szódás a lovát...
-
m.zmrzlina
senior tag
Az én megoldásomban a
Columns("A:B").EntireColumn.AutoFit
helyett ezt:
With Columns("A:B")
.Select
.EntireColumn.AutoFit
.HorizontalAlignment = xlLeft
End Withbetenni.
Ja és a
activerow = Range("A" & sorsz + 1, "I" & sorsz + 1).Value
sort törölni. Nem létező változónak ad értéket majd nem használja semmire.
Mire észrevettem, hogy benne maradt már nem volt szerkeszthető a hsz. -
iwu
addikt
-
Satchmo7
csendes tag
Sziasztok!
Bele szeretném magam vetni az excel makró programozásba ehhez tudtok ajánlani nekem valami jó könyvet vagy online forrást? Mit tanácsoltok hol, hogyan kezdjem el? Érdemes-e befizetni valamilyen tanfolyamra 50-60e Ft-ért? Mennyi idő megtanulni közepes,haladó szinten? Van-e különbség hogy excel 2003 vagy 2007 mindegyik VIsual Basic nyelvet használ azon belül 6.0 vagy. NET?
Köszönöm és bocs ha sok a kérdés
-
m.zmrzlina
senior tag
válasz Satchmo7 #8673 üzenetére
Az hogy mennyit kell rákölteni (kell-e egyáltalán) az attól függ hogy milyen szintre mennyi idő alatt akarsz eljutni és hogy honnan indulsz.(vannak-e programozási alapismereteid)
Szerintem ez két nagyon jó könyv. Én is kezdő vagyok és nagyon sokat segítettek már. Nem tudom hogy magyarul megjelentek-e.
http://www.amazon.com/Excel-Power-Programming-Spreadsheets-Bookshelf/dp/0470044012
http://www.amazon.com/Excel-2007-Bible-John-Walkenbach/dp/0470044039excelHa meg konkrét kérdésed van küldd ide, segítőkész emberek vannak itt.
-
Gimre
csendes tag
Segitséget szeretnék kérni abban, hogy mivel mi minden héten 1x focibajnokságot szervezünk (XBOX360) és általában 4-5-n játszunk csoportokba bontva mindenki mindenkivel és szeretném excel táblázatban összefoglalni, hogy ki mennyi gólt rúgott ill. kapott nem tom hogy milyen függvénnyel kel ezt meg csinálni.
Ilyen csoportokban játszunk Pl: a-b, a-c, a-d, a-e utána meg b-c, b-d, b-a, b-e stb tehát mindenkinek van hazai meccse szoval ebben kérném a segitséget.
Előre is köszönöm
[ Szerkesztve ]
Gulyás Imre
-
Delila_1
veterán
Nézd meg a 8110-es kérdést, ugyanerről szól.
Javaslom, hogy keresd meg levélben bnorci71-et, a kérdés feltevőjét, mert az ő összeállítása legjobb tudomásom szerint már komplett.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Mike318
csendes tag
Sziasztok! Úgy látom, az End operátorral kapcsolatos problémám nem másnál nem jelentkezik . A VBA-ban pont az a lazaság tetszett meg nekem, hogy nem kell szigorúan visszavezetni az alprogramok meghívását visszafelé a legelsőig, mint régen a FORTRAN-ban vagy a C++ ban csináltam, bárhol ki lehetett lépni. Most úgy látszik, megint rendet kell tanulnom .
Mindegy hogy mivel foglalkozol, csak JÓL csináld!
-
félisten
válasz Mike318 #8678 üzenetére
Biztos, hogy a korábbi kódodban az END-el van a gond? Az END-nek simán működnie kell és azt is csinálja, amit szeretnél, azaz teljesen mindegy, hogy a macron belül hol van meghíva az END, megállítja a macro futását és teljesen visszaadja a vezérlést az Excelnek...
Pl az alábbi kód i=3 esetén "leáll", a ciklust követő sorig nem jut el.Private Sub CommandButton1_Click()
For i = 1 To 100
If i = 3 Then
End
End If
Next i
MsgBox (i)
End SubUI: A z excelből való teljes kilépés meg Application.Quit
[ 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)
-
Cuci3
tag
válasz Satchmo7 #8673 üzenetére
Én ezen tanultam:
link
De persze van 1-2 kezdő honlap is, pl:
link1
link22003 és 2007 között asszem van különbség, de nem nagy (viszont lehet debugolni, ha vált az ember ). És szerintem mindkettő 6.0-t tolja, de majd ezt mások, az okosabbak megfejtik.
És ha van alap affinitás és programozási ismeret, akkor nem kell tanfolyam.[ Szerkesztve ]
-
félisten
A 2000-től a 2007-es Office-ig bezárólag, 6.0-ás VBA "motort használ", azonban ezen azonosság ellenére vannak olyan programozástechnikai eltérések (elsősorban pl deklarálásokban, függvényhívásokban), amikre oda kell figyelni és ez 2003 vs. 2007-re is igaz. A 2010-es Office már 7.0-ás "motort használ", ami alapvetően kompatibilis teljesen a 6-ossal, csak kibővített funkciókkal rendelkezik és ami nem mellékes, ugye a 2010-es Office x64-es változatban is elérhető.
[ 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)
-
lazlo8
tag
bocs, h megint sokat irok de lenne par kerdesem.
1,
tul hosszu a makro
compile error: procedure too large
lementettem txt-be 111kb.
szedjem ketté?
2.
hogyan lehet xls-ből pdf. jelenleg office 2003-at és pdf creatort használok igy néz ki a " makróm":
Sub Macro1()
'
' Macro1 Macro
' Macro recorded 19/11/2010 by mackoka''
Sheets("Sheet2").Select
Cells.Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Sheet3").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Sheet4").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
......
Sheets("Sheet50").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=TrueEnd Sub
ugye jelenleg xls.ből pdf-be nyomtatok nem konvertálok. végülis nekem mindegy hogy pdf-be nyomtatok vagy a konvertálok a végeredmény pdf kell h legyen.
idáig elég jó a makró a problémám az hogy mivel gondolom a pdf creator nem office termék ezért mindig a felhasználótol kérdi meg hogy hova milyen néven menste el az adott munkalapot, ezt hogy lehetne automatizálni hogy a tomi+ lapfül nevet meg pl dátumot adja pdf névnek?
nem tudom a pdf creator a megfelelő szoftver hogy excel makró segítségével pdf-t készítsek ha nem, mondjátok meg mi
3, -
félisten
1. Igen, szedd szét.
2. Nem tudom, melyik pdfcreatort használod(van jó pár), ezért ezt a pdf creatort töltsd le és telepítsd(miután a jelenlegit uninstaláltad), aztán tanulmányozd ezeket a kódokat.
(Azt, hogy hogy lehet fájlnevet létrehozni, (ami tartalmazza a pl dátumot), azt meg korábban megválaszoltam, csak szerintem átsiklottál rajta...Olvass vissza...
[ 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)
-
Delila_1
veterán
válasz Fire/SOUL/CD #8685 üzenetére
Az 50 lap nyomtatását mindenképp ciklusba szervezném, akkor nem szükséges megfelezni a makrót.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
félisten
válasz Delila_1 #8686 üzenetére
1. Őszintén szólva nem is gondoltam arra, hogy lazlo8 hsz-ában az első kérdése, az a másodikban szereplő makróra vonatkozik
2. Az adott pdfcreator-os kódban ez meg letudva(ciklusba van szervezve)
Csak infóként: 2007/2010-es Office-ban létezik PDF Add-In, illetve enélkül is lehet PDF-be menteni, ha telepítve van Acrobat Reader...Ez esetben maga a VBA is ad lehetőséget rá...
[ 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)
-
Satchmo7
csendes tag
válasz m.zmrzlina #8675 üzenetére
Köszönöm a választ m.zmrzlina és Cuci3!
Villamosmérnök vagyok szóval a programozás nem áll messze tőlem de a suliba C-t meg Assembly-t tanultunk de a munkámba most makrókat kellene írnom, egyelőre nézegetem amiket küldtetek és nem megyek tanfolyamra. Ha még valakinek van ötlete milyen könyvvel induljak vagy online forrás azt nagyon megköszönöm.
-
félisten
válasz Satchmo7 #8688 üzenetére
[link](Az Ebooks ajánlat nem él már)
Továbbá van egy nagyon hasznos fájl is alapban minden excelben, a neve FUNCS.XLS
Az, hogy ez a fájl pontosan hol található, az függ az OS és az Office változattól, itt az x86 vagy x64-es változat értendő. Nálam (W7 x64 és az Office 2010 x64) itt található.C:\Program Files\Microsoft Office\Office14\1038\
A fent említett munkafüzetben megtalálható magyarul és angolul az összes függvény, ami azért nagyon hasznos, mert makróban mindig az angol függvénynevekkel lehet csak dolgozni és jól jöhet, ha egy magyar függvénynek nem tudod az angol nevét.
Amiket ajánlottam, nem makróprogramozási tutorialok, de nélkülözhetetlen segítség hozzá
[ 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)
-
lazlo8
tag
válasz Fire/SOUL/CD #8685 üzenetére
igen, én voltam a hunyó tényleg írtad már a dátumos- elmentést, és sikerült is elmenteni ! nagyon szuper köszönöm a segítségeteket!
Viszont még fennáll 1 basic-problémám:
van egy "makróm" ami több másik kisebb excel-ből szedi az adatokat. nevezzük ezeket forrás file-oknak. A master file tartalmaz 50 fület ez a makró ezt az 50 fület tölti fel több kisebb nagyobb forrás fileokból. A forrás file-ok szintén 50 fület tartalmaznak de abból csak 10-5-20 fül van kitöltve a többi fülnél az eredmények üresek (random hogy melyik forrás file-ba hány fülnyi adat van).
a problémám az hogyha lefuttatom a makrómat pl. arra az excel file-ra ami 20 fület tartalmaz tök jól működik. De aztán lefuttatnám a másik forrás file-ra ami mondjuk csak 10 fület tartalmaz akkor nem 30 fülnyi eredményem lesz, hanem csak 10 mert felülírja az első 20-at.(0-val)
a makróm ugy néz ki hogy 1 cella hivatkozik a forrás file cellájára. semmi képlet v nehézség nincs.
hogy/mivel lehetne ezt a problémámat megoldanom? HA fv-vel?A 0-is jó eredménynek számit, a megoldás az lenne hogyha lefuttatot az első forrás file-ra a makrót az behúz 20 fülnyi jó adatot. utána ehhez a 20 fülhöz nem kellene hozzányúlni a maradék 30-at töltse ( viszont egy kérdés a forrás file-ban vagy egy mező ami üres értéket tartalmaz a makróm viszont minden alkalommal 0-as értéket ad ez mitől lehet?). de random ez is tehát ma az első forrás file-ba 20 fülnyi értékes adat volt, lehet holnap csak 2 fülnyi lesz holnapután meg 0 és csak a 2.-ik forrás file-ban lesz adat.
tehát a 0 és üres mező-t meg kell különböztetni. Vagyis lehet ha egyszerűbb lenne ha a makróm üres mezőre üres mezőt húzna be(ezt hogy? vagyis most miért üres mezőre 0-at hoz be? (bár most találtam egy olyan mezőt ami a forrás file-ban üres és a master-ben is az ez mitől lehetséges? a hivatkozás képlet ugyanaz csak a változók mások pl. lapfül neve) nem pedig 0-at és akkor, ha újra lefuttatom a makrómat akkor az üres mezőket töltse fel?
köszönöm még1x mindenkinek a segítséget -
atesss
addikt
Üdv !
A következő problémában kérném a segítségeteket:
Innen letöltöttem ezt a 80+-os tápegységek adatát tartalmazó táblát: [link] ("Export to Excel").
Ebből keresném a 300W alatti, 80+ Gold-os modelleket.
Sikerült is megoldanom a megfelelő sorbarendezést, most már a Gold-ok vannak elöl, és azon belül W szerint sorbarendezve.
Ezt szeretném pl. "PH-kompatibilissé" tenni, azaz be tudjam szúrni a tábla egy részét a fórumra, a linkekkel együtt.
Ugye a Modell Number egyben link is, de ezt sehogy nem sikerült kinyernem belőle, még Excelen belül sem hajlandó egy új cellába másolni.
Utána meg hozzátenném a linkekhez a megfelelő kódot (["L:http://a.com/b.html][link][/L"]), ez már egyszerű lenne.
Excel 2003-am van.[ Szerkesztve ]
-
félisten
Autószűrővel szűkítheted a táblázatod, majd egy makróban írt szubrutin segítségével kinyered a linkek címét.
Makrókód
Function GetLinkAddress(MyCell As Range) As String
GetLinkAddress = MyCell.Hyperlinks(1).Address
End FunctionRáállsz az I2-es cellára és =GetLinkAddress(B665)
(Azért B665 szerepel itt, mert a szűrések következtében a B oszlopban ez az első sor)Aztán hagyományosan, egérrel lemásolod a képletet. Mindez képben
[ 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)
-
Cuci3
tag
Összesen 6 találat, miért is írunk erre kódot? Amúgy lentebb a lehetőség, a feltételeket remélem jól adtam meg.
Sub hiperlink_kiszedes()
Application.ScreenUpdating = False
i = 2
For Each h In Worksheets(1).Hyperlinks
If Cells(i, 4) = 300 And Cells(i, 7) > 0.8 And Cells(i, 8) = "Gold" Then
Cells(i, 9) = h.Name
Cells(i, 10) = "[L:" & h.Name & "][link][/L]"
End If
i = i + 1
Next
Application.ScreenUpdating = True
End Sub -
félisten
Kösz, de a kódom nem azt csinálja amit kértek, majd ha később megjavul a PH!(mert most borzalmasan be van állva), akkor elküldöm újra...
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)
-
atesss
addikt
válasz Fire/SOUL/CD #8693 üzenetére
Köszi
A szűkítést nem autoszűrővel oldottam meg, hanem sorbarendezéssel (+hogy a Gold legyen az elején, beszúrtam egy "=HA(H2="GOLD";1;0)"-s oszlopot), hogy benne legyen a többi is egyben, csak a szükségesek legyenek az elején.
A makrótól elsőre féltem, de aztán egész könnyen meg tudtam oldani.Jó néhány éve használtam VB-t egész alap szinten.
De azóta csak C-t és (ebben a félévben) Assembly-t. Hát azért a C-hez képest eléggé más a szintaktika...
Az Excelben mindenképp rá kell menni a "Új makró rögzítése"-re ?
Illetve mi a különbség a "Sub" és a "Function" közt ?
Mert nekem furcsa hogy csak így megy, hogy a "Sub" le van zárva, és nem benne van a "Function":Sub GetLink()
End Sub
Function GetLinkAddress(MyCell As Range) As String
GetLinkAddress = MyCell.Hyperlinks(1).Address
End FunctionDe egymásba ágyazva nem engedi.
-
félisten
válasz Fire/SOUL/CD #8693 üzenetére
Szóval egy "kicsit" másabb lett a makrókód, így egy az egyben beillesztheted a PH-ra való hozzászólásod folyamán.
Function GetLinkAddress(MyCell As Range) As String
GetLinkAddress = "[L:" & _
MyCell.Hyperlinks(1).Address & _
"]" & _
MyCell.Value & _
"[/L]"
End FunctionA Function az visszaad valamilyen értéket, ez esetben STRING-et, azaz amelyik cellából meg van híva, annak a cellának a tartalma megváltozik, mint egy hagyományos pl SZUM esetén...
[ 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)
-
kacsyx
aktív tag
Sziasztok!
Hogy lehet megoldani Excelben, hogy ha beírom pl. a 3-5-2-őt, azt ne alakítsa át automatikusan dátummá? Azt szeretném, hogy soha semmit ne alakítson át.
Új hozzászólás Aktív témák
Hirdetés
- Mibe tegyem a megtakarításaimat?
- Épített vízhűtés (nem kompakt) topic
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Hardcore café
- Vezetékes FEJhallgatók
- Vodafone mobilszolgáltatások
- Melyik tápegységet vegyem?
- Durva lett a Lian Li motorizált asztala
- alza vélemények - tapasztalatok
- Xbox Series X|S
- További aktív témák...
Állásajánlatok
Cég: HC Pointer Kft.
Város: Pécs
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest