2017-06-02 18 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こんにちは先生 ええ私は手でセルを選択できるようにしたいと思っていましたが、同じ行にコピーされますが、さらに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

にG列をするのを必要とする時にはそれが例えばE17 ですので、手でそれを選択できるようにする必要がありますこのスクリプトを実行するとランタイムエラーが発生する – Valentino

+0

編集を表示するためにページを更新する必要がある可能性があります –

+0

ご協力ありがとうございますが、マクロを実行するとこのエラーが発生します。 ランタイムエラー9とバウンドのうちアレイ http://imgur.com/a/37f39 – Valentino

関連する問題