2017-06-02 136 views
0

我的問題是,我只需要在標記的單元格上執行一個宏。Excel VBA,在選定的單元格上執行宏

宏需要做到以下幾點:

選擇的小區例如爲20 * 20 * 20總是3個數字總是格式化。

它應該複製此文本在數字前面添加一個「=」並將其輸出到另一列。

守則我到現在爲止是:

Sub First() 
' 
' First Makro 
' 

' 
    Selection.Copy 
    Range("G11").Select 
    ActiveSheet.Paste 
    Application.CutCopyMode = False 
    ActiveCell.FormulaR1C1 = "=20*20*20" 
    Range("G12").Select 
End Sub 

我有這個代碼與記錄微距功能

非常感謝

+0

你在哪裏複製,你在哪裏粘貼?你的問題不清楚。請準確解釋你想達到什麼目的? –

+0

@SiddharthRout嗨Sir 是的我希望能夠手動選擇手機,它被複制到同一行,但進一步2列 – Valentino

+0

所以你是從上述代碼中的「E11」複製? –

回答

1

@SiddharthRout準確,但我必須能夠手動選擇它,因爲有時例如E17有時是e33,輸出總是需要是G列在同一行

這是你正在嘗試的?

Sub Sample() 
    Dim wb As Workbook 
    Dim ws As Worksheet 

    Set wb = ThisWorkbook 
    '~~> Replace Sheet1 with the relevant sheet name 
    Set ws = wb.Sheets("Sheet1") 

    '~~> Check if what the user selected is a valid range 
    If TypeName(Selection) <> "Range" Then 
     MsgBox "Select a range first." 
     Exit Sub 
    End If 

    '~~> Check if the user has selected a single cell 
    If Selection.Cells.Count > 1 Then 
     MsgBox "Please select a single cell" 
     Exit Sub 
    End If 

    ws.Range("G" & Selection.Row).Formula = "=" & Selection.Value 
End Sub 
+0

我在執行此腳本時遇到運行時錯誤 – Valentino

+0

您可能必須刷新頁面才能看到編輯 –

+0

感謝您的幫助,但執行宏時出現此錯誤。 運行時錯誤9和束縛了陣列的 http://imgur.com/a/37f39 – Valentino