Avatar billede folj Forsker
08. november 2013 - 12:29 Der er 3 kommentarer og
1 løsning

VBA-problem med at skifte over til den anden åbne excel-fil

Jeg har en åben datafil som jeg gerne vil lave et udtræk fra...
Jeg har blot problemer med at skifte over til den anden åbne excel-fil.
Den åbne datafil hedder altid "deliveriesView(1).csv" eller "deliveriesView(2).csv" eller "deliveriesView(3).csv"
Filnavnet er kopieret fra dialogboxen Save As, men i titellinien hedder den åbne fil "deliveriesView[2].csv". Bemærk tegnene [] i stedet for ().



Sub TestActivateDataFile()
'Henter data fra anden åben fil, der altid hedder deliveriesView(1).csv eller deliveriesView(2).csv eller deliveriesView(3).csv

Dim objOpenWB As Workbook, objWB As Workbook
Dim FromFileName As String, ToFileName As String, ToSheet As String

Dim i As Integer, LastRowNr As Integer, RowNr As Integer, GlucoseArrayVeritcalCount As Integer, CountRowsWithSameDate As Integer

DataFileNameStartString = "deliveriesView..."

'Indstillinger for hvad der skal søges efter i FromFileName
'FilterString = "JC"

' tjek om fil allerede er åben
  For Each objOpenWB In Application.Workbooks
    If Left(objOpenWB.Name, 14) = Left(DataFileNameStartString , 14) Then
      Set objWB = objOpenWB ' registrerer at jeg allerede har filen åben
      FromFileName = objOpenWB.Name
      Exit For
    End If
    'MsgBox objOpenWB.Name
  Next

If objWB Is Nothing Then
'  Workbooks.Open FileName:=FetchFromPathName & FromFileName, ReadOnly:=True
Else
  Windows(FromFileName).Activate
End If

End Sub


ovenstående kode fejler på linien "Windows(FromFileName).Activate" fejl: Subscript out af range
Avatar billede Sitestory Mester
08. november 2013 - 16:45 #1
Erstat "Windows" med "Workbooks" i:

Windows(FromFileName).Activate

Så virker det i hvert fald i Excel 2003. Det må være et eller andet med "Windows" og de kantede parenteser, for med runde parenteser er der ingen problem.
Avatar billede folj Forsker
09. november 2013 - 16:28 #2
@ Sitestory

Tak for dit input.
Jeg får først mulighed for at afprøve det på mandag når jeg er på job igen...

fortsat go' weekend
Avatar billede folj Forsker
11. november 2013 - 10:01 #3
@ Sitestory

Tak for dit input, som var lige i øjet...
smid lige et svar - der er lidt points til dig.

Tak for din indsats.

Koden, "Windows(FromFileName).Activate" var eller baseret på noget gammel kode jeg tidligere har anvendt - men det var nok i en tidligere version af Excel.

Efter at det er rettet til
Workbooks(FromFileName).Activate
så spiller det
Avatar billede Sitestory Mester
11. november 2013 - 11:09 #4
Det var godt!
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