Excel segítség!
#922
Elküldve: 2011. 07. 24. 13:46
Idézet: Root_Kiskacsa - Dátum: 2008. 11. 21. 22:41
Így most az alábbi példa csak hagyományos táblázatként illeszti be az Excelben kijelölt területet:
Sub FogdEsViddWordbe()
Dim WordApp As Object, WordDoc As Object
Set WordApp = CreateObject("Word.Application")
WordApp.Visible = True ' <- Ez a sor csak akkor kell, ha látni is akarod a Word ablakot, miközben összeállítja a dokumentumot mentéshez.
Set WordDoc = WordApp.Documents.Add
WordDoc.Activate
Selection.Copy
WordApp.Selection.Paste
WordDoc.SaveAs "C:\minta.doc"
WordApp.Quit False
End Sub
Anno végül nem volt szükség az excel -> word beillesztésre, most viszont ismét előkerült ez a feladat. A fenti makrót létrehoztam, azonban ez sajnos nem működik megfelelően. Ha nincsen ott a minta.doc akkor nem menti el. A másik dolog, hogy a formázást teljesen elrontja. Hogyan lehetne egy meglévő, fejléccel ellátott doc-ba a formázás megtartásával bemásoltatni a kijelölt területet? A sima kijelölés és másolás tökéletesen működik, csak automatizálni kellene.
A másik dolog, hogyan lehet tisztességes, a lap szélétől kezdődő fejlécet létrehozni az excel-ben? Mindig feljebb kezdi és a karakterek száma is limitálva van.
#923
Elküldve: 2011. 08. 09. 08:24
Valami nem stimmel ezzel a függvénnyel: =HA(A1>0;(HA(200<$E1<300;10%;HA($E1>300;15%;0))))
Tehát ha az E1 cellában 150 az érték, akkor ne adjon kedvezményt, ha 201 akkor már 10%-ot adjon, ha pedig 302 akkor 15% legyen az érték. Ezt szeretném elérni, de valamit elszúrtam.
A másik kérdésem az, hogy miképpen lehet megoldani azt, hogy egy táblában az A oszlopban nevekhez a B oszlopban regisztrációs számok vannak megadva, a mellette lévőben cím, a mellette lévőben pedig telefonszám.
Egy névhez, címhez, telefonszámhoz csak egy regszámot tudjak megadni. Véletlenül se engedje a rendszer meg a duplikázást. Ez egy partner adatbázis lenne. Én egy űrlap megoldásra gondoltam, ami kitölti a táblázatot adatokkal, és ha egy név vagy telefonszám, vagy cím már létezik, akkor rögtön jelzi ezt.
Azt meglehet oldani, hogy adott oszlopba a telefonszámot csak adott formátumba lehessen beírni? pl: 06-30/111-1111
Ugyanezt a címnél is megoldható. Már csak azért is, mert egy hiányzó irányítószám, vagy egy fölösleges pont, vagy a kisbetűs írás vagy Caps Lock megtévesztheti a rendszert.
Előre is köszönöm tanácsaitokat.
Szerkesztette: illusion 2011. 08. 09. 08:28 -kor
#924
Elküldve: 2011. 08. 09. 10:49
1. Az A1-be viszed az összeget, amiből az E1 értéke szerint kedvezményt adsz. A B1 képlete:
=HA(E$1<=150;A1;HA(ÉS(E$1>150;E$1<=302);A1*(1-10%);A1*(1-15%)))
2. A laphoz kell rendelni egy makrót, ami figyeli a bevitelt, és ellenőrzi, van-e már az oszlopban olyan érték, mint amit bevittél. A makró:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Range("A:C"), Target) Is Nothing Then Exit Sub
If Not Intersect(Range("A:C"), Target) Is Nothing Then
If Application.WorksheetFunction.CountIf(Range(Cells(1, Target.Column), Cells(Target.Row, Target.Column)), Target) > 1 Then
MsgBox "Van már ilyen"
Range(Target.Address) = ""
End If
End If
End Sub3. A cellaformázásnál a "Különleges" kategóriában kiválasztod a Mobilszám alkategóriát, az megadja a kívánt formátumot. Igaz, a 4 utolsó számjegyet is kétfelé választja egy kötjellel, de ez valószínűleg nem lesz zavaró. Ügyelj rá, hogy a formátumnál a magyar nyelv legyen kiválasztva.
#925
Elküldve: 2011. 08. 10. 07:28
Idézet: Delila - Dátum: 2011. 08. 09. 11:49
1. Az A1-be viszed az összeget, amiből az E1 értéke szerint kedvezményt adsz. A B1 képlete:
=HA(E$1<=150;A1;HA(ÉS(E$1>150;E$1<=302);A1*(1-10%);A1*(1-15%)))
2. A laphoz kell rendelni egy makrót, ami figyeli a bevitelt, és ellenőrzi, van-e már az oszlopban olyan érték, mint amit bevittél. A makró:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Range("A:C"), Target) Is Nothing Then Exit Sub
If Not Intersect(Range("A:C"), Target) Is Nothing Then
If Application.WorksheetFunction.CountIf(Range(Cells(1, Target.Column), Cells(Target.Row, Target.Column)), Target) > 1 Then
MsgBox "Van már ilyen"
Range(Target.Address) = ""
End If
End If
End Sub3. A cellaformázásnál a "Különleges" kategóriában kiválasztod a Mobilszám alkategóriát, az megadja a kívánt formátumot. Igaz, a 4 utolsó számjegyet is kétfelé választja egy kötjellel, de ez valószínűleg nem lesz zavaró. Ügyelj rá, hogy a formátumnál a magyar nyelv legyen kiválasztva.
Köszönöm szépen. Próbálom.
#926
Elküldve: 2011. 08. 10. 09:53
Idézet: Delila - Dátum: 2011. 08. 09. 11:49
1. Az A1-be viszed az összeget, amiből az E1 értéke szerint kedvezményt adsz. A B1 képlete:
=HA(E$1<=150;A1;HA(ÉS(E$1>150;E$1<=302);A1*(1-10%);A1*(1-15%)))
2. A laphoz kell rendelni egy makrót, ami figyeli a bevitelt, és ellenőrzi, van-e már az oszlopban olyan érték, mint amit bevittél. A makró:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Range("A:C"), Target) Is Nothing Then Exit Sub
If Not Intersect(Range("A:C"), Target) Is Nothing Then
If Application.WorksheetFunction.CountIf(Range(Cells(1, Target.Column), Cells(Target.Row, Target.Column)), Target) > 1 Then
MsgBox "Van már ilyen"
Range(Target.Address) = ""
End If
End If
End Sub3. A cellaformázásnál a "Különleges" kategóriában kiválasztod a Mobilszám alkategóriát, az megadja a kívánt formátumot. Igaz, a 4 utolsó számjegyet is kétfelé választja egy kötjellel, de ez valószínűleg nem lesz zavaró. Ügyelj rá, hogy a formátumnál a magyar nyelv legyen kiválasztva.
Szuperül működik!!!
A kódnál azt hogy lehet átírni, hogy a "Munka2" lap "A" oszlopában figyelje hogy van-e olyan iktatószám?
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Range("A:C"), Target) Is Nothing Then Exit Sub
If Not Intersect(Range("A:C"), Target) Is Nothing Then
If Application.WorksheetFunction.CountIf(Range(Cells(1, Target.Column), Cells(Target.Row, Target.Column)), Target) > 1 Then
MsgBox "Van már ilyen"
Range(Target.Address) = ""
End If
End If
End SubViszont az a gond ha üresen hagyok egy cellát a kitöltés során, akkor nem enged tovább lépni, hiába okézom le. Nem tudok sehova ellépni, be kell zárnom a táblázatot. Ilyenkor mit lehet tenni?
Szerkesztette: illusion 2011. 08. 10. 10:01 -kor
#927
Elküldve: 2011. 08. 10. 15:45
Két helyen szerepel a makróban ("A:C"), azokat írd át ("A:A")-ra.
A makrót a Munka2 nevű lapodhoz rendeld. Lapfülön jobb klikk, Kód megjelenítése. Ezzel bejutottál a VB szerkesztőbe. Jobb oldalon van egy nagy üres terület, oda másold be a makrót.
Idézet
Ez nem fordulhat elő, semmi ilyen letiltás nincs a makróban. Kipróbáltam.
#928
Elküldve: 2011. 08. 11. 00:02
Idézet: Delila - Dátum: 2011. 08. 10. 16:45
Két helyen szerepel a makróban ("A:C"), azokat írd át ("A:A")-ra.
A makrót a Munka2 nevű lapodhoz rendeld. Lapfülön jobb klikk, Kód megjelenítése. Ezzel bejutottál a VB szerkesztőbe. Jobb oldalon van egy nagy üres terület, oda másold be a makrót.
Ez nem fordulhat elő, semmi ilyen letiltás nincs a makróban. Kipróbáltam.
Pedig valami nincs rendben, kipróbáltam. Ha a megrendelés szám oszlopban ha valamit véletlenül ugyanazt írom be, akkor lefagy.
Mellékelve: Próba file
#932
Elküldve: 2011. 08. 11. 14:17
A belinkelt füzet felépítése egészen más, mint ahogy a #923-ban leírtad. Pontosítsd, melyik lapon melyik oszlopban akarod letiltani az azonos értékek bevitelét. A Munka2 lapon egy halom érvénytelen hivatkozás van jelenleg.
#933
Elküldve: 2011. 08. 11. 20:37
Idézet: Delila - Dátum: 2011. 08. 11. 14:17
A belinkelt füzet felépítése egészen más, mint ahogy a #923-ban leírtad. Pontosítsd, melyik lapon melyik oszlopban akarod letiltani az azonos értékek bevitelét. A Munka2 lapon egy halom érvénytelen hivatkozás van jelenleg.
Belinkelném az egész fájlt, de csak priviben. Sok magán adat van benne, nem szeretném közzé tenni. Adsz egy privi email címet?
Szerkesztette: illusion 2011. 08. 11. 20:39 -kor
#935
Elküldve: 2011. 08. 24. 16:33
automatikus munkalap átnevezés témakörében kérném segítségeteket.
A1 cella forrása választómenüből érhető el, de több olyan értékem van ami hosszabb mint amennyit a munkalap nevének meg lehet adni. (31 karakter)
Amit szeretnék kérni, az a lenti kód három plusz funkcióval való kiegészítése lenne:
- az első 31 karaktert adja a munkalap nevének. (Próbáltam külön cellába kiíratni az első 31 karaktert de amíg a BAL függvénybe nem megyek bele és ütök entert nem változik a munkalap neve.)
- abban az esetben ha a munkafüzetben már van ugyan olyan nevű munkalap figyelmeztessen erre.
- forrás cella üres értékre való átállítása esetén az eredeti munkalap nevét adja meg (Munka1, Munka23 ...)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range
Set r = Intersect(Target, Range("A1"))
If r Is Nothing Then Exit Sub
ActiveSheet.Name = Range("A1").Value
End SubSajnos makróíráshoz egyelőre nem sok közöm van, google által dobott találatok és mintapéldák átbogarászása után sem lettem sokkal okosabb.
Előre is köszönöm.
D3 Battle Tag: PoHoS#2375
#936
Elküldve: 2011. 08. 25. 11:30
Mindegyik lapodhoz hozzá rendelned az alábbi makrót.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ln As String
If Target.Address = "$A$1" Then
If Not IsEmpty(Target) Then
ln = Left(Target, 31)
Else
ln = ActiveSheet.CodeName
End If
On Error GoTo Hiba
ActiveSheet.Name = ln
End If
Exit Sub
Hiba:
MsgBox "Van már " & ln & " nevű lap"
End Sub
#937
Elküldve: 2011. 08. 25. 15:34
Nagyon szépen köszönöm a segítséget!
Idézet: Delila - Dátum: 2011. 08. 25. 12:30
Mindegyik lapodhoz hozzá rendelned az alábbi makrót.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ln As String
If Target.Address = "$A$1" Then
If Not IsEmpty(Target) Then
ln = Left(Target, 31)
Else
ln = ActiveSheet.CodeName
End If
On Error GoTo Hiba
ActiveSheet.Name = ln
End If
Exit Sub
Hiba:
MsgBox "Van már " & ln & " nevű lap"
End SubD3 Battle Tag: PoHoS#2375
#939
Elküldve: 2011. 09. 05. 09:46
Elég f...sz voltam ma reggel, mert a nagy kapkodásban kitöröltem egy Excel fájlból több munkafüzetlapot,
és mivel a a mentés és a mentés másként egymás mellett van véletlen a mentésre nyomtam.
Normál esetben először elmentem másként és csak utána állatkodok, de ma reggel kicsit kihagyott a processzor.
A kérdésem a következő vissza tudom valahonnan állítani a korábbi jó verziót, vagy kezdhetem elölről?
Kösz!
Szerkesztette: Phabi 2011. 09. 05. 09:46 -kor
#940
Elküldve: 2011. 09. 06. 13:37
Nekem abban kellene a segítség, hogy van egy excel fileom amiban vannak a: dolgozók+főnökök nevei, b: email címek.
Egy másik excel táblában pedig csak nevek vannak, csak épp szűkített a lista. Értem ezalatt, hogy pl csak a főnökök nevei vannak benne, nem az összes dolgozóé. Na most ebbe a file-ba kellene belevarázsolni az adott főnökök neve mellé az email címét. Az se baj ha az egész egy excelben oldható meg.
Nem tudom elég világos e. Köszönöm a segítséget.

Súgó
A téma zárva.














