Excel cellában levő képlet VBA-s olvasása

Excel cellában levő képlet VBA-s olvasása
2011-09-24T14:40:23+02:00
2011-09-24T17:44:33+02:00
2022-11-23T04:00:42+01:00
gatszegk
Sziasztok,

Jó sok postot elolvastam de sajnos megoldást nem sikerült találnom. Bízom benne, hogy van olyan köztetek aki már találkozott ezzel a problémával és tud segítséget adni.

A probléma a következő:
Adott egy excel tábla melynek a celláiba vagy számok vagy pedig egy egyszerű összeadás képlettel max két szám van.
Pld.:
A1 = 1200
B1 = 3300
C1 = "= 1100 + 2100"
...
Ami műxik:
- VB kóddal végigmegyek a táblán és egy bizonyos logika alapján különböző információkat adok az egyes rekordokhoz, aminek az lesz a vége, hogy egy relációs adatbázis felépítést kapok.

Amivel gondom van:
- "C1" cellának a visszatérési értéke mindig 3200. Én viszont azt szeretném ha ez lenne --> "= 1100 + 2200". Hogy miért? Mindkét számnak jelentősége van és meghatároz egy helyet amit külön rekordnak kell felvinni.

Remélem érthetően foglamaztam meg a kérdésemet.
Örülnék ha valaki tudna segíteni.

Előre is köszönöm, hogy foglalkoztok az üggyel.

Köszi,
Kornél
Mutasd a teljes hozzászólást!
A visszatérési érték mit jelent nálad? Az Excel cellában az érték fog megjelenni, vagy egy VB kóddal akarod olvasni a cella tartalmát és nem a képletet hanem a kiszámolt értéket adja vissza?

Ha a VB kód-os problémád van, akkor mielőtt olvasod a cella értékét nézd meg, hogy szerpel-e benne képlet a (HasFormula), ha igen, akkor a cel.formula -t olvasd ki, egyébként a cell.value -t.

Ha az Excel felületen probléma, hogy kiszámolja az értéket, akkor meg ne képletet írj a cellába és nem fogja kiszámolni.
Mutasd a teljes hozzászólást!

  • Ha C1-be nem raksz egyenlőségjelet, úgy szerintem jó lesz.
    Az mindenképpen kell bele?
    Gondolom az excel függvényei előbb futnak le, mint a te vba kódod.
    Mutasd a teljes hozzászólást!
  • nem igazán értem, hogy mit szeretnél, ha szövegként akarod letárolni ezt: = 1100 + 2200

    akkor tegyél elé egy aposztrófot: '= 1100 + 2200


    Mutasd a teljes hozzászólást!
  • A visszatérési érték mit jelent nálad? Az Excel cellában az érték fog megjelenni, vagy egy VB kóddal akarod olvasni a cella tartalmát és nem a képletet hanem a kiszámolt értéket adja vissza?

    Ha a VB kód-os problémád van, akkor mielőtt olvasod a cella értékét nézd meg, hogy szerpel-e benne képlet a (HasFormula), ha igen, akkor a cel.formula -t olvasd ki, egyébként a cell.value -t.

    Ha az Excel felületen probléma, hogy kiszámolja az értéket, akkor meg ne képletet írj a cellába és nem fogja kiszámolni.
    Mutasd a teljes hozzászólást!
  • Köszönöm a sok hozzászólást.

    Dávid!
    Igen mindenképpen kell bele mert a usernek az összeget kell látni, viszont a riport (ezzel küzdök) külön rekordben kell a két termelt mennyiségnek megjelennie.

    Robi80!
    Lásd fent. Azért köszi.

    stego_!
    A te megoldásod a jó. Így már az jön vissza amit szeretnék "=1100+2100"!

    Köszönöm mindenkinek.

    Kornél
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd