2013-05-05 112 views
-5

我想在打开excel时使用vba激活特定单元格。如何在打开excel时在vba中激活动作

任何人都可以指导我如何做到这一点。

感谢

 Private Sub Send_Click() 
     Dim strURL As String 
     strURL = "http://xxxxxxxxxx.com/excelAPI.php?customer_id=1&mobilenumber=" _ 
     & ActiveCell.Value & "&message=" & ActiveCell.Offset(0, 1).Value 
     Call Sheets("Sheet1").WebBrowser4.Navigate(strURL) 

    Application.DisplayAlerts = False 

     End Sub 

     Private Sub Workbook_Open() 
     Worksheets("Sheet1").Range ("A1") 
     End Sub 
+0

你的问题没有任何意义。一旦关闭工作簿,就不存在单元处于活动状态或停用状态的问题。如果要在打开工作簿时使特定单元格处于活动状态,请使用workbook_open事件。 – Santosh 2013-05-05 12:32:31

+0

好吧,你能告诉我如何激活特定单元格时打开excel。我试图不工作。我粘贴我的代码 – arok 2013-05-05 12:43:44

+1

它已经在这里回答http://stackoverflow.com/questions/16382801/how-to-keep-the -first-cell-always-active-in-excel-using-vba – Santosh 2013-05-05 12:44:38

回答

1

我不知道你正在尝试做的,但如果你想Send_Click在打开工作簿时运行,你只需要调用它在Workbook_Open事件:

Private Sub Workbook_Open() 
    Worksheets("Sheet1").Range("A1").Select 
    Send_Click 
End Sub 

请注意,Workbook_Open需要位于ThisWorkbook模块中,但Send_Click可以位于不同的模块中。

您还应该考虑直接引用您想要的单元格,而不是选择单元格,然后使用ActiveCell。它会快得多,而且更容易避免错误。看到这个Q+A

0

要激活一个单元格,您需要先选择它。另外,如果纸张不活动,这也需要激活。

Worksheets("Sheet1").Activate 
Worksheets("Sheet1").Range("A1").Select 

我可以建议如果单元格A1的数据是你所追求的send_click过程中,您直接引用它像这样:

Private Sub Send_Click()  
    Dim strURL As String 

    With Worksheets("Sheet1").Range("A1"). 
     strURL = "http://xxxxxxxxxx.com/excelAPI.php?customer_id=1&mobilenumber=" _ 
     & .Value & "&message=" & .Offset(0, 1).Value 
    end with 

    Call Sheets("Sheet1").WebBrowser4.Navigate(strURL)   
    Application.DisplayAlerts = False  
End Sub 
+0

可以告诉我如何在打开时关闭以前的操作excel – arok 2013-05-06 06:59:50

+0

要做到这一点的唯一方法是将内容保存在内存中并重新选择。不激活不激活另一个。 – glh 2013-05-06 07:14:04

+0

即时通讯不知道我明白你的意思是停用。 – glh 2013-05-06 07:16:39

相关问题