PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerVBAVBAEgenskaper hos Workbooks. alt. Windows.Egenskaper hos Workbooks. alt. Windows.
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2009-06-10 17:37
 
Hej. Jag har en Excelfil med ett Makro, som när det startas samlar in och sparar värden från en annan Excelfil (Arbetsbok) till den första filen. Makrot fungerar som det skall göra, så länge jag har sett till att öppna bägge filerna innan Makrot startas. Men jag skulle vilja att Makrot själv kan avgöra om filen redan är öppen, eller behöver öppnas, eller om andra filer behöver stängas innan insamlingen kan starta.
Om man antar att filen med värden heter ”ModellA Utvärdering.xlsx”, och filen dit värden samlas in heter ”ModellA Hämta Utvärdering.xlsm”, och att dessa filer ligger på plats C:/Dokument/Modeller/ModellA, hur skall jag då göra för att Makrot i tillägg till insamlingen av värden skulle kunna göra följande:
1.       Om enbart ”ModellA Hämta Utvärdering.xlsm” är öppen skall ”ModellA Utvärdering.xlsx” öppnas och insamling av värden startas.
2.       Om enbart ”ModellA Hämta Utvärdering.xlsm” och ”ModellA Utvärdering.xlsx” är öppna startas insamlingen av värden direkt.
3.       Om andra filer än de ovan angivna är öppna skall dessa sparas och stängas utan konfirmering innan Makrot fortsätter enligt punkt 1 eller punkt 2.
Tacksam om någon har förslag till att lösa ovanstående
Nytt inlägg
 2009-06-21 18:35
 
 Ändrad av Henrik Milefors  på 2009-06-21 18:36:57

Hej Jörgen,

Principerna för ett sådant makro kan se ut som nedan. Hoppas att detta hjälper dig vidare.

 

Public Sub GetValuesModellA()

    Dim wb As Workbook
    Dim strWbSearchName As String
    Dim strWbSearchpath As String
    Dim blnFound As Boolean
   
    strWbSearchName = "ModellA Utvärdering.xlsx"
    strWbSearchpath = "C:\Dokument\Modeller\ModellA\"
   
    Application.ScreenUpdating = False
   
    For Each wb In Application.Workbooks
        If wb.Name = strWbSearchName Then
            blnFound = True
        ElseIf wb.Name <> ThisWorkbook.Name Then
            wb.Save
            wb.Close
        End If
    Next wb
   
    If Not blnFound Then
        Application.Workbooks.Open (strWbSearchpath & strWbSearchName)
    End If
   
    '-----här lägger du korrekt kod för att hämta datan
    ' ex.
    ThisWorkbook.Sheets(1).Range("B1").Value = Workbooks(strWbSearchName).Sheets(1).Range("A1").Value
    '-----
   
    If Not blnFound Then
        Workbooks(strWbSearchName).Close
    End If

    Application.ScreenUpdating = True
   
End Sub

Mvh
Henrik

Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerVBAVBAEgenskaper hos Workbooks. alt. Windows.Egenskaper hos Workbooks. alt. Windows.

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter