Excel/VB taustaväriongelma

Olen kirjoitellut työssä muuatta skriptiä 3G-projektiin. Yhtenä osana skriptiä on muuttaa käsittelyssä olevan taulukon solujen taustaväriä tiettyjen sääntöjen mukaan, mutta olen törmännyt outoon ongelmaan. Jostain syystä nykyään koodirivi tyyliin

globalBaseWb.Worksheets("ProtocolTests").Range(Cells(y, 2), Cells(y, 7)).Interior.Color = RGB(255, 255, 255)

Tuossa rivissä siis globalBaseWb on globaaliksi määritelty Workbook-muuttuja.

Yritys ajaa tuollainen rivi aiheuttaa joka kerta virheilmoituksen. Ruudulle vain pomppaa messageboksi jossa lukee "400" eikä mitään muuta. Aikaisemmin taustavärin muuttaminen toimi, mutta eräässä vaiheessa se vain lakkasi yllättäen toimimasta. Omituisinta tuossa on että ilmeisesti se skripti johon tuo koodi on sulautettu toimii toisten testaajien koneissa mutta ei minulla.

Mikä ihme tuossa voisi olla taustalla ?
3482
Äänestä

Muut lukivat myös

Vastaukset 3

Vanhimmat

Kokeilin vielä aivan uudella workbookilla tehdä pienen testauksen tyyliin:

ThisWorkbook.Worksheets(1).Range(Cells(1, 2), Cells(1, 9)).Interior.Color = RGB(255, 0, 0)
ThisWorkbook.Worksheets(2).Range(Cells(1, 2), Cells(1, 9)).Interior.Color = RGB(0, 255, 0)
ThisWorkbook.Worksheets(3).Range(Cells(1, 2), Cells(1, 9)).Interior.Color = RGB(0, 0, 255)

Eli ensimmäisessä worksheetissä punaista, toisessa vihreää ja kolmannessa sinistä. Ensimmäinen rivi toimi ongelmitta ja ensimmäiseen sheettiin tuli punainen alue. Toisessa ja kolmannessa sheetissä ei näkynyt mitään ja tuli sama 400-virheilmoitus.

Eli vaikuttaa siltä että joko meikän koneessa Excel on korruptoitunut tai sitten muiden kuin ykkösworksheetin käsittely vaatii kikkailua.

Aikaisemmassa vastaavassa skriptissä (2G-käyttöön) oli tavaraa vain ykkösworksheetissä joten siinä ei ongelmia tullut, mutta tässä uudessa 3G-käyttöön tarkoitetussa sovelluksessa on kolmessa sheetissä.

Äänestä
  • Löytyihän se ratkaisu kun vähän tutki asiaa. Aikaisemmin olin huomannut että värin muuttaminen onnistuu vain aktiivisessa workbookissa (eli piti aktivoida ensin haluttu workbook), mutta en tullut ajatelleeksi että myös worksheetin pitää olla aktiivinen. Kun aktivoin worksheetin ennen komentoa kaikki pelitti kybällä.

    Äänestä

ensinnäkään noi ei ole scriptejä

Äänestä

Kommentoi aloitusta


The Real J. kirjoitti:

Olen kirjoitellut työssä muuatta skriptiä 3G-projektiin. Yhtenä osana skriptiä on muuttaa käsittelyssä olevan taulukon solujen taustaväriä tiettyjen sääntöjen mukaan, mutta olen törmännyt outoon ongelmaan. Jostain syystä nykyään koodirivi tyyliin

globalBaseWb.Worksheets("ProtocolTests").Range(Cells(y, 2), Cells(y, 7)).Interior.Color = RGB(255, 255, 255)

Tuossa rivissä siis globalBaseWb on globaaliksi määritelty Workbook-muuttuja.

Yritys ajaa tuollainen rivi aiheuttaa joka kerta virheilmoituksen. Ruudulle vain pomppaa messageboksi jossa lukee "400" eikä mitään muuta. Aikaisemmin taustavärin muuttaminen toimi, mutta eräässä vaiheessa se vain lakkasi yllättäen toimimasta. Omituisinta tuossa on että ilmeisesti se skripti johon tuo koodi on sulautettu toimii toisten testaajien koneissa mutta ei minulla.

Mikä ihme tuossa voisi olla taustalla ?

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