这里的VBA新手。
我记录了包含的代码,以便从源工作簿中复制工作表并将其粘贴到另一个打开的工作簿的工作表中。
它有效,但我试图做的是; 触发宏 复制工作表 开放目的地工作簿 粘贴数据 关闭原始工作簿 结束目标工作簿但不同的工作表。
extension ViewController : MKMapViewDelegate {
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView?{
guard !(annotation is MKUserLocation) else { return nil }
let reuseId = "pin"
var pinView = mapView.dequeueReusableAnnotationView(withIdentifier: reuseId) as? MKPinAnnotationView
if pinView == nil {
pinView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: reuseId)
}
pinView?.pinTintColor = UIColor.orange
pinView?.canShowCallout = true
let smallSquare = CGSize(width: 30, height: 30)
let button = UIButton(frame: CGRect(origin: CGPoint.zero, size: smallSquare))
button.setBackgroundImage(UIImage(named: "car"), for: .normal)
button.addTarget(self, action: #selector(ViewController.getDirections), for: .touchUpInside)
pinView?.leftCalloutAccessoryView = button
return pinView
}
}
感谢您接受一些教育!
答案 0 :(得分:0)
我相信您必须打开其他工作簿,粘贴,然后关闭:
Sub Button5_Click()
'a variable to hold our other workbook
Dim otherwb as Workbook
'open other workbook assign it to variable
Set otherwb = Application.Workbooks.Open("Missing Data Template (concept1).xlsx")
'Copypasta
Sheets("DataSet").Cells.Copy Destination:=otherwb.Sheets("Report").Range("A1")
'save and Close other workbook
otherwb.Close(true)
End Sub
您也会注意到我已取消所有.Select
和.Active
类型代码。因为选择是人类所做的事情,所以VBA中的.Select
内容真的没必要。代码只需知道要获取什么以及放在何处。触摸.select
或.activate
实际上有时仅在末尾用于将光标/选择设置在运行代码的人的特定点(例如,如果您想确保一旦运行该代码,表格("数据集")。范围(" A1")单元格被选中。