Bekijk de onderstaande video om te zien hoe je onze site als een web app op je startscherm installeert.
Opmerking: Deze functie is mogelijk niet beschikbaar in sommige browsers.
Public Sub CopySheetFromOtherWorkbook()
Dim vFilename
Dim SourceBook As Workbook
Dim TargetBook As Workbook
Dim sSheet1 As String
Dim sSheet2 As String
'geef aan wat het originele werkboek is
'(het werkboek waarin we gaan werken)
Set TargetBook = Application.ActiveWorkbook
'kijk of het standaard werkboek bestaat
If FileExists("pad +bestand.xlsx") Then
'het standaardbestand bestaat dus open die
vFilename = "pad+bestand.xlsx"
Else
'het standaardbestand bestaat niet, dus vraag de gebruiker
'om een bestand te selecteren
vFilename = Application.GetOpenFilename("Excel bestanden (*.xlsx), *.xlsx")
End If
'kijk of er een bestand is geselecteerd
If vFilename <> False Then
'een bestand is geselecteerd dus open die
Set SourceBook = Workbooks.Open(vFilename)
'kopieer sheet "A" van het geopende werkboek
SourceBook.Sheets("Blad1").Select
'plak de gekopieerde sheet achter de eerste sheet v/h originele werkboek
SourceBook.Sheets("Blad1").Move After:=TargetBook.Sheets(1)
'geef melding dat de sheet is gekopieerd
sSheet1 = "Blad1"
sSheet2 = TargetBook.Sheets(1).Name
MsgBox "Sheet " & sSheet1 & " is gekopieerd in werkboek " & TargetBook.Name & " achter sheet " & sSheet2, _
vbInformation + vbOKOnly, _
"Sheet gekopieerd!"
'sluit het geopende werkboek
SourceBook.Close False
'geef de nieuwe sheet in het originele werkboek de focus
TargetBook.Sheets("Blad1").Select
End If
End Sub
Private Function FileExists(fname) As Boolean
'Geeft TRUE terug als een bestand bestaat
Dim x As String
x = Dir(fname)
FileExists = IIf(x <> "", True, False)
End Function
hij kopieer niet de gegevens naar het andere bestand, maar naar het geopende bestand.
ik heb nu deze code
Code:Public Sub CopySheetFromOtherWorkbook() Dim vFilename Dim SourceBook As Workbook Dim TargetBook As Workbook Dim sSheet1 As String Dim sSheet2 As String 'geef aan wat het originele werkboek is '(het werkboek waarin we gaan werken) Set TargetBook = Application.ActiveWorkbook 'kijk of het standaard werkboek bestaat If FileExists("pad +bestand.xlsx") Then 'het standaardbestand bestaat dus open die vFilename = "pad+bestand.xlsx" Else 'het standaardbestand bestaat niet, dus vraag de gebruiker 'om een bestand te selecteren vFilename = Application.GetOpenFilename("Excel bestanden (*.xlsx), *.xlsx") End If 'kijk of er een bestand is geselecteerd If vFilename <> False Then 'een bestand is geselecteerd dus open die Set SourceBook = Workbooks.Open(vFilename) 'kopieer sheet "A" van het geopende werkboek SourceBook.Sheets("Blad1").Select 'plak de gekopieerde sheet achter de eerste sheet v/h originele werkboek SourceBook.Sheets("Blad1").Move After:=TargetBook.Sheets(1) 'geef melding dat de sheet is gekopieerd sSheet1 = "Blad1" sSheet2 = TargetBook.Sheets(1).Name MsgBox "Sheet " & sSheet1 & " is gekopieerd in werkboek " & TargetBook.Name & " achter sheet " & sSheet2, _ vbInformation + vbOKOnly, _ "Sheet gekopieerd!" 'sluit het geopende werkboek SourceBook.Close False 'geef de nieuwe sheet in het originele werkboek de focus TargetBook.Sheets("Blad1").Select End If End Sub Private Function FileExists(fname) As Boolean 'Geeft TRUE terug als een bestand bestaat Dim x As String x = Dir(fname) FileExists = IIf(x <> "", True, False) End Function
en mijn tweede vraag is kan je de sheet ook de naam uit cel A1 geven.
Ariën
We gebruiken essentiële cookies om deze site te laten werken, en optionele cookies om de ervaring te verbeteren.