Excel VBA,在选定的单元格上执行宏

时间:2017-06-02 07:06:22

标签: excel vba 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

我有记录宏功能的代码

非常感谢

1 个答案:

答案 0 :(得分: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