HWSW Informatikai Kerekasztal: Excel keresés vagy makró - HWSW Informatikai Kerekasztal

Ugrás a tartalomhoz

Mellékleteink: Unix / Linux | Gamekapocs

Oldal 1 / 1
  • Nem indíthatsz témát.
  • Nem szólhatsz hozzá ehhez a témához.

Excel keresés vagy makró utolsó üres szóköz keresése Értékeld a témát: -----

#1 Felhasználó inaktív   szekelyelek 

  • Újonc
  • Pipa
  • Blog megtekintése
  • Csoport: Alkalmi fórumtag
  • Hozzászólások: 15
  • Csatlakozott: 2009. aug. 30.

Elküldve: 2011. 07. 02. 07:18

Sziasztok!

Nagyon hálás lennék, ha valaki segítséget (vagy némi iránymutatást) tudna adni a tekintetben, hogy, hogy tudnám megoldani a következő problémát:

Egy excel cellában néhány tíz szóból, vesszőből, számból és szóközökből álló kifejezés található. Szeretném az utolsó szóköz után található tartalmat (amely hossza sajnos mindig változik) egy következő cellába, jobbra áthelyezni. Az adatok/szövegből oszlopok lehetőséggel nem tudom megoldani, mivel Ő nem értelmezi az utolsó szóköz fogalmát, csak szóközönként, vagy vesszőnként tudja szétválasztani a cella tartalmát.

Előre is köszi a segítséget!

#2 Felhasználó inaktív   szekelyelek 

  • Újonc
  • Pipa
  • Blog megtekintése
  • Csoport: Alkalmi fórumtag
  • Hozzászólások: 15
  • Csatlakozott: 2009. aug. 30.

Elküldve: 2011. 07. 03. 17:21

Üzenet megtekintéseIdézet: szekelyelek - Dátum: 2011. 07. 02. 08:18

Sziasztok!

Nagyon hálás lennék, ha valaki segítséget (vagy némi iránymutatást) tudna adni a tekintetben, hogy, hogy tudnám megoldani a következő problémát:

Egy excel cellában néhány tíz szóból, vesszőből, számból és szóközökből álló kifejezés található. Szeretném az utolsó szóköz után található tartalmat (amely hossza sajnos mindig változik) egy következő cellába, jobbra áthelyezni. Az adatok/szövegből oszlopok lehetőséggel nem tudom megoldani, mivel Ő nem értelmezi az utolsó szóköz fogalmát, csak szóközönként, vagy vesszőnként tudja szétválasztani a cella tartalmát.

Előre is köszi a segítséget!



Köszi, ha bárki is gondolkodott a megoldáson..., de időközben megtaláltam!

Ha érdekel valaki, (bár gondolom nem) szívesen megosztom...

#3 Felhasználó inaktív   Misi_D 

  • Törzsvendég
  • PipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 1.457
  • Csatlakozott: 2003. nov. 29.

Elküldve: 2011. 07. 04. 23:36

Írd le, hadd tanuljunk. :)
A katonai behívó azt jelenti, hogy a fehér ember elküldi a feketét a sárga ellen harcolni azért a földért, amit a vörösbőrűtől lopott el.

A halott Jedi a jó Jedi!  (Sith közmondás)

#4 Felhasználó inaktív   szekelyelek 

  • Újonc
  • Pipa
  • Blog megtekintése
  • Csoport: Alkalmi fórumtag
  • Hozzászólások: 15
  • Csatlakozott: 2009. aug. 30.

Elküldve: 2011. 07. 05. 17:09

A megoldást a Word jelenti mégpedig így:

a csere funkcióban a keresendő kifejezés szóköz és bármely szám karakter (vagy kettő, vagy három, vagy további pont is... ezres elválasztó jel...) ezt kell kicserélni pontosvessző és keresett kifejezés-re... Így a cellában lévő hosszú kifejezésből, amely egyes nagyobb elemei vesszővel vannak elválasztva, megjelöltük az utolsó részén szereplő számot... Ezt a pontosvesszőt Word-ben és Excel-ben is ki lehet cserélni tabulátor jelre, vagy szövegből oszlopok funkció...pontosvessző cellahatárolóval lehet külön cellába tolni a korábbi terjedelmes cella jobb szélén található, eltérő helyi értékű számokat.

Lehet, hogy "fapados" a megoldás, de programnyelv ismeret hiányában ez volt kiolvasható az Office-ból.

#5 Felhasználó inaktív   Coppermine 

  • Evolution IV
  • PipaPipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 11.927
  • Csatlakozott: 2003. szept. 17.

Elküldve: 2011. 07. 10. 14:18

Üzenet megtekintéseIdézet: szekelyelek - Dátum: 2011. 07. 05. 18:09

A megoldást a Word jelenti mégpedig így:

a csere funkcióban a keresendő kifejezés szóköz és bármely szám karakter (vagy kettő, vagy három, vagy további pont is... ezres elválasztó jel...) ezt kell kicserélni pontosvessző és keresett kifejezés-re... Így a cellában lévő hosszú kifejezésből, amely egyes nagyobb elemei vesszővel vannak elválasztva, megjelöltük az utolsó részén szereplő számot... Ezt a pontosvesszőt Word-ben és Excel-ben is ki lehet cserélni tabulátor jelre, vagy szövegből oszlopok funkció...pontosvessző cellahatárolóval lehet külön cellába tolni a korábbi terjedelmes cella jobb szélén található, eltérő helyi értékű számokat.

Lehet, hogy "fapados" a megoldás, de programnyelv ismeret hiányában ez volt kiolvasható az Office-ból.


erre egy pár soros excel vb.script makrót lehet írni, ami kiolvassa a cellából a tartalmat, és egy substringgel feldarabolja részekre, delimiternek megadva a szóközt, azt belepakolja egy tömbbe, a tömbön végigfuttat egy ciklust n-1 elemig, és az utols delimiter után lévő substringet meg kimásolja egy másik változóba, amit meg beteszi az adott cellába. hirtelen ez jutott eszembe (hasonlót csináltam már vb.scriptben, csak az egy abap sap connector volt, de hasonlóan cellaműveleteket scriptelve).

-C0pp3rM!n3-

Szerkesztette: Coppermine 2011. 07. 10. 14:19 -kor

Kép

#6 Felhasználó inaktív   szekelyelek 

  • Újonc
  • Pipa
  • Blog megtekintése
  • Csoport: Alkalmi fórumtag
  • Hozzászólások: 15
  • Csatlakozott: 2009. aug. 30.

Elküldve: 2011. 07. 10. 14:30

Az lenne a szuper, ha ezt le is tudnád írni!!!

Mindenképp elegánsabb mint az Én "fapados" megoldásom, de azóta a 2010-es Excel lehetőségeivel (pl cella érték színezés) szinte tökéletesre fejlesztettem...

#7 Felhasználó inaktív   Coppermine 

  • Evolution IV
  • PipaPipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 11.927
  • Csatlakozott: 2003. szept. 17.

Elküldve: 2011. 07. 18. 14:00

Üzenet megtekintéseIdézet: szekelyelek - Dátum: 2011. 07. 10. 15:30

Az lenne a szuper, ha ezt le is tudnád írni!!!

Mindenképp elegánsabb mint az Én "fapados" megoldásom, de azóta a 2010-es Excel lehetőségeivel (pl cella érték színezés) szinte tökéletesre fejlesztettem...


parancsolj, itt egy elég egyszerű kód:

Dim mystring As String ez lesz a string amibe kiolvasod a cell tartalmát

mystring = Sheet1.Cells(1, 3) legyen mondjuk a C1-ben egy tesztszöveg amit kiszedünk
deststring = Split(mystring, " ") Split függvénnyel a mystring stringet feldaraboljuk, a delimiter " " lesz, vagyis a szóköz
MsgBox (deststring((UBound(deststring)))) próbának okáért kidobjuk egy messzidzsboxba

End Sub

az utolsó elemet deststring((UBound(deststring)))-el kapod meg, ezt átpakolhatod egy másik cellába így Sheet1.Cells(sor, oszlop).Value = deststring((UBound(deststring)))

-C0pp3rM!n3-

Szerkesztette: Coppermine 2011. 07. 18. 14:02 -kor

Kép

#8 Felhasználó inaktív   Cpt. Flint 

  • Újonc
  • Pipa
  • Blog megtekintése
  • Csoport: Alkalmi fórumtag
  • Hozzászólások: 84
  • Csatlakozott: 2008. dec. 23.

Elküldve: 2011. 10. 03. 11:48

Sziasztok!

Tud valaki a DDE híváson kívül valami egyszerűbb, jobban kezelhető adatforgalmat a Word és az Excel között? Konkrétan most éppen arra gondolnék, hogy egy excel VBA projekt változó értékét hogy tudnám átvinni egy Word VBA projektjébe? Mert eddig csak a DDERequest paranccsal sikerült, előtte ugye szépen kiíratva az értéket az excel makróból egy cellába, ami ráadásul látható kell legyen és csak az aktív lapon lehet és... grrr, szóval ez így enyhén szólva kényelmetlen és idegőrlő.
Nem lehet valami "globális" változót definiálni, ami az excelből meg a wordből (stb., azaz az egész office-ból) is éppen aktuális értékén elérhető?

#9 Felhasználó inaktív   Cpt. Flint 

  • Újonc
  • Pipa
  • Blog megtekintése
  • Csoport: Alkalmi fórumtag
  • Hozzászólások: 84
  • Csatlakozott: 2008. dec. 23.

Elküldve: 2011. 10. 03. 11:54

Üzenet megtekintéseIdézet: Cpt. Flint - Dátum: 2011. 10. 03. 11:48

Mert eddig csak a DDERequest paranccsal sikerült, előtte ugye szépen kiíratva az értéket az excel makróból egy cellába, ami ráadásul látható kell legyen és csak az aktív lapon lehet és... grrr, szóval ez így enyhén szólva kényelmetlen és idegőrlő.


Ja, és örülnék, ha valaki meg tudná azt is mondani, hogy amúgy a DDERequest parancs "Item" elemének van-e az "RxCx" formulán kívül valami más megadható értéke is, mert a példákban mindig csak ezt találtam, és hiába is próbálkoztam mással.

#10 Felhasználó inaktív   hkpk 

  • Senior tag
  • PipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 3.506
  • Csatlakozott: 2008. aug. 28.

Elküldve: 2011. 11. 18. 22:27

Üzenet megtekintéseIdézet: Cpt. Flint - Dátum: 2011. 10. 03. 11:48

Sziasztok!

Tud valaki a DDE híváson kívül valami egyszerűbb, jobban kezelhető adatforgalmat a Word és az Excel között? Konkrétan most éppen arra gondolnék, hogy egy excel VBA projekt változó értékét hogy tudnám átvinni egy Word VBA projektjébe? Mert eddig csak a DDERequest paranccsal sikerült, előtte ugye szépen kiíratva az értéket az excel makróból egy cellába, ami ráadásul látható kell legyen és csak az aktív lapon lehet és... grrr, szóval ez így enyhén szólva kényelmetlen és idegőrlő.
Nem lehet valami "globális" változót definiálni, ami az excelből meg a wordből (stb., azaz az egész office-ból) is éppen aktuális értékén elérhető?

Jobb híján fapadosnak tűnik, de lehet registrybe menteni és kiolvasni, értékeket, nem is lassú, és ha szükséges az applikáció szempontjából később is felhasználható (lld. Savesetting, Getsetting, Deletesetting)

Téma megosztása:


Oldal 1 / 1
  • Nem indíthatsz témát.
  • Nem szólhatsz hozzá ehhez a témához.

1 felhasználó olvassa ezt a témát.
0 felhasználó, 1 vendég, 0 anonim felhasználó