Avatar billede tvc Seniormester
28. november 2009 - 22:23 Der er 6 kommentarer og
1 løsning

Display Alert

Jeg anvender i en makro application.displayalert for at undgå afbrydelser af advarsler og beskeder mens makroen kører.

Application.displayalert vælger automatisk default ved advarsler og beskeder. Nu står jeg med problemet, at default i beskeden om hvorvidt der ønskes opdatering af eksterne referencer er sat til "opdater", hvilket jeg ikke ønsker.

Hvordan fanger jeg beskeden om opdateringen og svarer "opdater ikke"?
Avatar billede excelent Ekspert
29. november 2009 - 11:19 #1
Har du prøvet at vælge :
"Vis ikke advarslen, og opdater ikke automatiske kæder"
i menuen Rediger/Kæder/ Startprompt ?
Avatar billede tvc Seniormester
29. november 2009 - 13:56 #2
Ja jeg fandt løsningen i nat med Application.AskToUpdateLinks, men fik ikke lukket spørgsmålet ;-)

Men tak for hjælpen - du kom med en løsning og skal have point - jeg havde dog håbet, at man kunne "fange" advarsler og beskeder og herefter bestemme hvad der skulle ske med dem.

Selvom løsningen på ovenstående er fundet, er mine problemer dog ikke løst ;-) Jeg troede at dette ville gøre åbningen af mine 40 filer hurtigere (har en lille kode der åbner 40 filer opdaterer mine data og lukker filerne igen), men når Excel når til nummer 26 går det næsten i stå jf. http://www.eksperten.dk/spm/894037 (er værst i Excel 2007 - 2003 kører væsentligt hurtigere) - nogle ideer til en optimering?

Jeg ender ellers med at åbne en fil af gangen og derefter alene opdatere den kolonne i min samlefil, hvor den åbnede fils data indgår. Men igen var det sjovere at finde en anden løsning ;-)
Avatar billede excelent Ekspert
29. november 2009 - 14:12 #3
eller.

Private Sub Workbook_Open()
ActiveWorkbook.UpdateLinks = xlUpdateLinksNever
End Sub

Prøv send hele koden fra det andet spørgsmål, så prøver jeg at kikke på det. Men det tager nu engang tid at åbne/lukke filer
så jeg lover ikke noget.

pm@madsen.tdcadsl.dk
Avatar billede tvc Seniormester
30. november 2009 - 19:10 #4
Dette er hele koden:

Dim xlsHome, c As Range

Sub HentDataX()

'Slå skærm og msg fra
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    Application.AskToUpdateLinks = False


   
'Efterregn workbook
    xlsHome = ActiveWorkbook.Name
   
        Workbooks(xlsHome).Application.Calculate
     
'Hent sti og filtype
    Sti = Range("Sti")
    Filtype = Range("Filtype")
         
'Åben xls-filer

For Each c In Range("Filnavne").Cells

    If c.Value <> Empty Then Workbooks.Open Filename:=Sti + c.Value + "." + Filtype, ReadOnly:=True, IgnoreReadOnlyRecommended:=True
   
Next c
     
'Efterregn xlsHome-workbook og sæt til manuelberegning
    Workbooks(xlsHome).Application.Calculate
         
    Workbooks(xlsHome).Application.Calculation = xlCalculationManual
   
'Aktiver xlsHome-workbook
    Workbooks(xlsHome).Activate


'Luk filer

For Each c In Range("Filnavne").Cells

If c.Value <> Empty Then Workbooks(c.Value + "." + Filtype).Close SaveChanges:=False
   
Next c


'Slå opdatering af skærm og msg til
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    Application.AskToUpdateLinks = True

End Sub
Avatar billede excelent Ekspert
30. november 2009 - 20:58 #5
Jeg kan se koden ikke udfører noget i de åbnede projektmapper
Har du nogle formler/kæder som ikke bliver opdateret automatisk ?
- altså uden at skulle åbne filerne
Avatar billede tvc Seniormester
30. november 2009 - 23:40 #6
Ja - jeg har mange forlmer, der er sammensat ved INDIREKTE, og spom derfor kræver at filerne bliver åbnet.

Jeg arbejder p.t. på at åbne én fil af gangen og alene beregne den kolonne, der henter data fra den åbne fil.
Avatar billede excelent Ekspert
01. december 2009 - 17:40 #7
Hvor mange af dine formler indeholder INDIREKTE ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester