将非连续选择从工作簿复制到另一个工作簿
Copy non-contiguous selection from workbook to another workbook
我将数据从工作簿复制到另一个工作簿,single contiguous selection
的复制工作没有问题。
但是,如果我复制了两个选择(使用 CTRL),即使是相邻的,也没有复制到目标工作簿(没有出现错误)。
如何修改下面的代码使其将非连续选择从工作簿复制到另一个?
提前感谢有用的回答和评论。
Dim wb As Workbook: Set wb = ThisWorkbook 'Source Workbook
Dim srg As Range: Set srg = wb.ActiveSheet.Range(Selection.Address)
Dim wb1 As Workbook: Set wb1 = Workbooks.Add 'Destination Workbook
Dim drg As Range: Set drg = wb1.Sheets(1).Range("A1")
srg.Copy drg
srg.Copy
drg.PasteSpecial Paste:=xlPasteColumnWidths
Dim r As Range
For Each r In drg.Rows
r.WrapText = True
If r.RowHeight < 40 Then r.RowHeight = 40 'This line works
Next r
此回答参考@karma
只是我需要复制列宽 然后 在它之后复制值。
srg.Copy
drg.PasteSpecial Paste:=xlPasteColumnWidths
srg.Copy drg
我将数据从工作簿复制到另一个工作簿,single contiguous selection
的复制工作没有问题。
但是,如果我复制了两个选择(使用 CTRL),即使是相邻的,也没有复制到目标工作簿(没有出现错误)。
如何修改下面的代码使其将非连续选择从工作簿复制到另一个?
提前感谢有用的回答和评论。
Dim wb As Workbook: Set wb = ThisWorkbook 'Source Workbook
Dim srg As Range: Set srg = wb.ActiveSheet.Range(Selection.Address)
Dim wb1 As Workbook: Set wb1 = Workbooks.Add 'Destination Workbook
Dim drg As Range: Set drg = wb1.Sheets(1).Range("A1")
srg.Copy drg
srg.Copy
drg.PasteSpecial Paste:=xlPasteColumnWidths
Dim r As Range
For Each r In drg.Rows
r.WrapText = True
If r.RowHeight < 40 Then r.RowHeight = 40 'This line works
Next r
此回答参考@karma
只是我需要复制列宽 然后 在它之后复制值。
srg.Copy
drg.PasteSpecial Paste:=xlPasteColumnWidths
srg.Copy drg