Excel-ohjelmointi ongelma

Miten onnistuisin seuraavassa?
Sovelluksessa on yhteenvetotaulu, jossa luetteloruudulla haetaan asiakas soluun C8.
Sen arvon perusteella pitäisi päästä asiakkaat tauluun samaisen asiakkaan kohdalle ja merkitä asiakastauluun jotakin. Ja sitten seuraavaksi vielä saman asiakkaan tietoihin Tuotteet taulukon neljään eri soluun. Eli kyseessä on kolmen eri taulun yhteensovittaminen.
Tämä pitäisi saada makrolla toimivaksi eli koodia siihen!!!!!.

Toinen kysymys: Jos asiakkaalla on juokseva numerointi ja välistä poistaa asiakkaan, tulee ongelmaksi se, että laskuri katkaisee numeroiden laskennan ja aloittaa katkaistulta kohdalta uudelleen ykkösestä.Olisko joku viisas ratkaisemaan ongelmat!!!
10942
Äänestä

Muut lukivat myös

Vastaukset 10

Vanhimmat

jos teet itse muuttujan joka pitää sisällään asiakkaan numeron... niin se ei varmana nollaudu ennen kuin itse niin määräät... eikös?

Äänestä
  • Miten sijoitan tähän koodiin:

    Sub Painike3_Napsautettaessa()
    'LISÄÄ ASIAKASTIEDOT
    ' Painike3_Napsautettaessa Makro
    Sheets("Asiakastiedot").Select
    Range("A5").Select
    While Selection.Value "" 'etsii tyhjän solun
    Selection.Offset(1, 0).Select
    Wend
    Haltija = InputBox("Anna Sukunimi ja Etunimi", "Asiakastiedot")
    Selection.Offset(0, 1).Value = Haltija

    While Selection.Offset(0, 1).Value ""
    Selection.FormulaR1C1 = "=R[-1]C 1" 'lisää asiakasnumeron ja kasvattaa sitä yhdellä

    Lähiosoite = InputBox("Anna Lähiosoite", "Asiakastiedot")
    Postitoimipaikka = InputBox("Anna Postinumero ja Postitoimipaikka", "Asiakastiedot")
    Puhelin = InputBox("Anna Puhelinnumero", "Asiakastiedot")
    Lisätietoja = InputBox("Anna Lisätietoja", "Asiakastiedot")

    Selection.Offset(0, 2).Value = Lähiosoite
    Selection.Offset(0, 3).Value = Postitoimipaikka
    Selection.Offset(0, 4).Value = Puhelin
    Selection.Offset(0, 5).Value = Lisätietoja
    Selection.Offset(1, 0).Select


    Sheets("ASIAKASTIEDOT").Select
    Haltija = InputBox("Anna Sukunimi ja Etunimi", "Asiakastiedot")
    Selection.Offset(0, 1).Value = Haltija
    Wend
    'palaa päävalikkoon
    Sheets("PÄÄVALIKKO").Select

    End Sub

    Äänestä

  • Entäs kun suljet excelin?

    Äänestä

  • Kunde kirjoitti:

    Entäs kun suljet excelin?

    ai muuttujasta... no tallentaa sen vaikka soluun (XF,47)...
    siellähän on tallessa =) eikö?

    Äänestä

En oikein ymmärrä sun koodiasi...
mitä on A- sarakkeessa no mai pen rai!

Tee Asiakastiedot taulukkoon ekalle riville otsikot tai sun tapauksessa EHKÄ 5 riville? otsikot(en tiedä mitä on A-sarakkeessa?)
B=Haltija
C=Asiakasnumero
D=Lähiosoite
E=Postitoimipaikka
F=Puhelin
G=Lisätietoja
Tässä kohtaa oletan ,että sulla on ainakin 2 varmaa asiakasta...
Täytä ensimmäisen asiakkaan tiedot ja anna haluamasi asiakasnumero
Täytä seuraavan asiakkaan tiedot
C- sarakkeeseen laitat nyt kaavan =C1 1 (tai mikä nyt olikin ekan asiakkaan rivi) muut tiedot
Seuraavaksi lisää koodi haluaamsi koodiin
Call Koe ja lisää seuraava koodin pätkä moduuliin

Sub Koe()
Range("A1").CurrentRegion.Select
Application.CommandBars.FindControl(ID:=860).Execute
End Sub

Sub Koe()
Range("A5").CurrentRegion.Select
Application.CommandBars.FindControl(ID:=860).Execute
End Sub

Koodi avaa tietokantalomakkeen ja voit lisätä,poistaa tai muokata tietoja kuten haluat!
Että sillein :)
Muista ,että pari ekaa tiedostoa pitää olla varmoja asiakkaita.

Vihjeenä sulle, että missä tahansa sarakkeesa sulla on kaava niin sitä et voi muokata(esim. asiakasnumero kasvaa automaattisesti tai jos poistat tietueen niin se vähentää -1, ei kyllä järkevää, koska mun mielestä niiden pitäisi olla uniikit-ajatellen reskontraa!)

Äänestä
  • A-sarakkeessa on asiakasnumero, jossa laskuri.
    Täytyy jatkaa harjoitusta.
    Pääsen kylläkin asiakastauluun, mutta miten pääsen asiakastaulussa asianomaisen asiakkaan kohdalle. Onko tietotyyppi joku muu kuin Value?

    Äänestä

  • ElliNoora kirjoitti:

    A-sarakkeessa on asiakasnumero, jossa laskuri.
    Täytyy jatkaa harjoitusta.
    Pääsen kylläkin asiakastauluun, mutta miten pääsen asiakastaulussa asianomaisen asiakkaan kohdalle. Onko tietotyyppi joku muu kuin Value?

    En oikein ymmärrä mitä sinä haluat koodin tekevän? Tarkenna niin koodia pukkaa:)

    Äänestä

  • Kunde kirjoitti:

    En oikein ymmärrä mitä sinä haluat koodin tekevän? Tarkenna niin koodia pukkaa:)

    Sub ASIAKKAAN_POISTO_Painike3_Napsautettaessa

    Sheets("ASIAKKAAN_POISTO").Select
    Range("E16").Select
    Selection.Copy 'tässä valittu asiakas

    Sheets("ASIAKASTIEDOT").Select
    Range("E2").Select 'tässä solussa asiakkaan indeksinumero
    ...miten jatketaan tästä???

    Asiakastietotaulussa sarakkeessa B
    =asiakastiedot, jotka alkavat B6:sta ja ko. sarakkeista pitäisi tunnistaa aiemmin valittu asiakas ja asiakkaan nimen kohdalle kirjoittaa esim.EI ENÄÄ ASIAKKAANA
    Olen koettanut vaikka millä konstilla, mutta en ole tajunnut MITEN???



    MsgBox ("ASIAKAS ON POISTETTU")
    End Sub

    Äänestä

  • ElliNoora kirjoitti:

    Sub ASIAKKAAN_POISTO_Painike3_Napsautettaessa

    Sheets("ASIAKKAAN_POISTO").Select
    Range("E16").Select
    Selection.Copy 'tässä valittu asiakas

    Sheets("ASIAKASTIEDOT").Select
    Range("E2").Select 'tässä solussa asiakkaan indeksinumero
    ...miten jatketaan tästä???

    Asiakastietotaulussa sarakkeessa B
    =asiakastiedot, jotka alkavat B6:sta ja ko. sarakkeista pitäisi tunnistaa aiemmin valittu asiakas ja asiakkaan nimen kohdalle kirjoittaa esim.EI ENÄÄ ASIAKKAANA
    Olen koettanut vaikka millä konstilla, mutta en ole tajunnut MITEN???



    MsgBox ("ASIAKAS ON POISTETTU")
    End Sub

    Kokeile käyttää tietokantalomaketta,josta mainitsin aikaisemmasta postauksessa. Siinä on kaikki (kaipaamasi)toiminnat valmiina. Teet vain otsikkorivit ja laitat asiakasnumerolle laskurin
    jne.
    Voit lähettää jutskasi myös mulle sähkäriin
    [email protected] , niin ehkä ymmärrän mitä olet vailla?

    Äänestä

  • Kunde kirjoitti:

    Kokeile käyttää tietokantalomaketta,josta mainitsin aikaisemmasta postauksessa. Siinä on kaikki (kaipaamasi)toiminnat valmiina. Teet vain otsikkorivit ja laitat asiakasnumerolle laskurin
    jne.
    Voit lähettää jutskasi myös mulle sähkäriin
    [email protected] , niin ehkä ymmärrän mitä olet vailla?

    Nyt rupesi pelittämään. Kiitosta paljon loistavasta ohjeesta.
    Kesti kotvan mennä perille, mutta viimeinkin...

    Äänestä

Kommentoi aloitusta


ElliNoora kirjoitti:

Miten onnistuisin seuraavassa?
Sovelluksessa on yhteenvetotaulu, jossa luetteloruudulla haetaan asiakas soluun C8.
Sen arvon perusteella pitäisi päästä asiakkaat tauluun samaisen asiakkaan kohdalle ja merkitä asiakastauluun jotakin. Ja sitten seuraavaksi vielä saman asiakkaan tietoihin Tuotteet taulukon neljään eri soluun. Eli kyseessä on kolmen eri taulun yhteensovittaminen.
Tämä pitäisi saada makrolla toimivaksi eli koodia siihen!!!!!.

Toinen kysymys: Jos asiakkaalla on juokseva numerointi ja välistä poistaa asiakkaan, tulee ongelmaksi se, että laskuri katkaisee numeroiden laskennan ja aloittaa katkaistulta kohdalta uudelleen ykkösestä.Olisko joku viisas ratkaisemaan ongelmat!!!

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu