• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

2e geopenden map sluit niet

Status
Niet open voor verdere reacties.

fwalraven

Gebruiker
Lid geworden
30 apr 2006
Berichten
150
Met bijgevoegd voorbeeld wordt er een 2e map geopend.
Bij oke wordt vanuit die 2e map, van kolom F de cellen 8 tm 58,gekopieerd naar blad 1
en sluit de 2e opgevraagde map weer.
Dit werkt goed.

Echter nadat de verkenner is geopend en men annuleert, dan wordt gevraagd middels een msgbox
of u de wijzigingen in blad1 wilt opslaan-niet opslaan-annuleren.

Hoe krijg ik die msgbox veranderd in hooguit een Msgbox ("Er is geen bestand gekozen")

Frans
 

Bijlagen

  • Import werkblad.xlsm
    24,6 KB · Weergaven: 19
Niet dat ik veel van begrijp en dus zonder verbeteringen. De code in module 3 even aanpassen? naar:

Code:
Sub KiesBestand()
Dim SelectedFileItem As String
Dim fDialog As FileDialog
Set fDialog = Application.FileDialog(msoFileDialogOpen)
    With fDialog
    .Title = "Selecteer het juiste bestand!"
    .AllowMultiSelect = False
        .InitialFileName = "C:\"
        .Filters.Clear
    .Filters.Add "Excel files", "*.xlsx"
    If .Show = -1 Then
        SelectedFileItem = .SelectedItems(1)
        Workbooks.Open (SelectedFileItem)
        ActiveWorkbook.ActiveSheet.Range("F8:f58").Copy
        ThisWorkbook.Sheets("blad1").Cells(2, 18).PasteSpecial
        Range("A1").Select
        Application.CutCopyMode = False
        ActiveWorkbook.Close
    Else
      MsgBox "niks"
    End If
  End With
End Sub
 
Laatst bewerkt:
@Vena,

Ik heb nu een extra Msgbox erbij.

1e: "Niks"

2e: vervolgens weer: Opslaan-niet opslaan- annuleren.

Frans
 
'niks' krijg je als je niks geselecteerd hebt.

Range("A1").Select zal waarschijnlijk een wijziging in het geopende bestand aanbrengen. En dan krijg je inderdaad een melding.
 
Bij annuleren is het de bedoeling dat bij het rood gearceerde de 2e geopende map met of zonder msgbox sluit
en niet meer verder door gaat.

Frans

CODE]Sub KiesBestand()
Dim SelectedFileItem As String
Dim fDialog As FileDialog
Set fDialog = Application.FileDialog(msoFileDialogOpen)
With fDialog
.Title = "Selecteer het juiste bestand!"
.AllowMultiSelect = False
.InitialFileName = "C:"
.Filters.Clear
.Filters.Add "Excel files", "*.xlsx"
If .Show = -1 Then
SelectedFileItem = .SelectedItems(1)
Workbooks.Open (SelectedFileItem)
Else
MsgBox ("niks")
'Als de gebruiker op cancel/annuleren klikt, dan komt er een msgbox blad1 opslaan-niet opslaan-annuleren
End If
End With

ActiveWorkbook.ActiveSheet.Range("F8:f58").Copy
ThisWorkbook.Sheets("blad1").Cells(2, 18).PasteSpecial
Range("A1").Select
Application.CutCopyMode = False
ActiveWorkbook.Close ''Hier sluit het 2e geopende bestand en blijft het geopende bestand zichtbaar zonder melding.
End Sub
[/CODE][XML][/XML]
 
Dan moet je in de Else uiteraard wel een Exit Sub doen.
 
Gebruik Getobject(fullname) in plaats van workbooks.open.

Code:
 if .show Then 
   With getobject(.selecteditems(1))
    ThisWorkbook.Sheets("blad1").Cells(2, 18).resize(50)=.sheets(1).Range("F8:F58").Value
    .close 0
   End With
 end if

en Else en exit sub zijn nu overbodig.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan