snasui.com ยินดีต้อนรับ ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
Private Sub CommandButton1_Click()
Dim wkbCrntWorkBook As Workbook
Dim wkbSourceBook As Workbook
Dim rngSourceRange As Range
Dim rngDestination As Range
Set wkbCrntWorkBook = ActiveWorkbook
With Application.FileDialog(msoFileDialogOpen)
.Filters.Clear
.Filters.Add "E:", "*.xlsx"
.AllowMultiSelect = False
.Show
If .SelectedItems.Count > 0 Then
Workbooks.Open .SelectedItems(1)
Set wkbSourceBook = ActiveWorkbook
Set rngSourceRange = Application.InputBox(prompt:="Select source range", Title:="Source Range", Default:="A1", Type:=8)
wkbCrntWorkBook.Activate
Set rngDestination = Application.InputBox(prompt:="Select destination cell", Title:="Select Destination", Default:="B10", Type:=8)
rngSourceRange.Copy rngDestination
rngDestination.CurrentRegion.EntireColumn.AutoFit
wkbSourceBook.Close False
End If
End With
End Sub
Private Sub CommandButton1_Click()
Dim strSourceBook As String
Dim wkbSourceBook As Workbook
Dim wkbCrntWorkBook As Workbook
Set wkbCrntWorkBook = ThisWorkbook
strSourceBook = Application.GetOpenFilename(FileFilter:="Excel file(*.xls*),*.xls*", _
Title:="Please select soruce file.", MultiSelect:=False)
If strcourcebook = "False" Then Exit Sub
Set wkbSourceBook = Workbooks.Open(strSourceBook, False)
With wkbSourceBook.Worksheets("Format")
Set rngSourceRange = .Range("a2", .Range("a" & .Rows.Count).End(xlUp)).Resize(, 26)
rw = rngSourceRange.Rows.Count
col = rngSourceRange.Columns.Count
End With
With wkbCrntWorkBook.Worksheets("import")
.Range("b10").Resize(rw, col).Value = rngSourceRange.Value
.Range("b10").CurrentRegion.EntireColumn.AutoFit
End With
wkbSourceBook.Close False
End Sub