VBA 코드를 사용하여 데이터 복사 및 붙여넣기
스프레드시트에 버튼이 있는데, 이 버튼을 누르면 사용자가 파일을 열고 스프레드시트 "데이터"의 열 A-G를 복사한 다음 현재 시트에 해당 열에서 데이터를 붙여넣을 수 있습니다.
코드에 논리 오류가 있습니다. 실행되지만 선택 항목을 잘못된 위치에 붙여넣습니다.
저는 두 권의 문제집을 참조하는 데 어려움을 겪고 있습니다.
내 코드는 다음과 같습니다.
Sub Button1_Click()
Dim excel As excel.Application
Dim wb As excel.Workbook
Dim sht As excel.Worksheet
Dim f As Object
Set f = Application.FileDialog(3)
f.AllowMultiSelect = False
f.Show
Set excel = CreateObject("excel.Application")
Set wb = excel.Workbooks.Open(f.SelectedItems(1))
Set sht = wb.Worksheets("Data")
sht.Activate
sht.Columns("A:G").Select
Selection.Copy
Range("A1").Select
ActiveSheet.Paste
wb.Close
End Sub
특수 붙여넣기 방법을 사용합니다.
sht.Columns("A:G").Copy
Range("A1").PasteSpecial Paste:=xlPasteValues
하지만 ActiveSheet를 "데이터"로 변경하고 다시 변경하지 않는 것이 큰 문제입니다.내 코드에 따라 활성화 및 선택을 수행할 필요가 없습니다(이는 복사하려는 시트에 단추가 있다고 가정함).
그래서 나는 이 토론에서 이것이 그때 코드가 되어야 한다고 생각하고 있습니다.
Sub Button1_Click()
Dim excel As excel.Application
Dim wb As excel.Workbook
Dim sht As excel.Worksheet
Dim f As Object
Set f = Application.FileDialog(3)
f.AllowMultiSelect = False
f.Show
Set excel = CreateObject("excel.Application")
Set wb = excel.Workbooks.Open(f.SelectedItems(1))
Set sht = wb.Worksheets("Data")
sht.Activate
sht.Columns("A:G").Copy
Range("A1").PasteSpecial Paste:=xlPasteValues
wb.Close
End Sub
이것이 맞거나 한 단계를 놓쳤는지 알려주십시오.고마워.
언급URL : https://stackoverflow.com/questions/6778759/copying-and-pasting-data-using-vba-code
'programing' 카테고리의 다른 글
GPS 좌표를 위해 데이터베이스에 중요한 숫자를 몇 개 저장해야 합니까? (0) | 2023.08.23 |
---|---|
스위프트 콤바인에서 @Published를 사용하여 계산된 속성과 동등합니까? (0) | 2023.08.23 |
UITextView에 커서가 표시되지 않음 (0) | 2023.08.23 |
UICollectionView에서 레이아웃을 동적으로 설정하면 설명할 수 없는 contentOffset 변경이 발생함 (0) | 2023.08.23 |
ASP의 경우 "모델을 만드는 동안에는 컨텍스트를 사용할 수 없습니다." 예외입니다.NET 아이덴티티 (0) | 2023.08.23 |