2016-10-09 6 views
0

に貼り付けると等しい場合:N = G6場合エクセルVBA - 自動セルAは、Xは、コピーして、私は現在、以下の持っているセルB

:私は基本的に行うには、別のマクロを追加する必要があり

Private Sub Worksheet_Change(ByVal Target As Range) 
    If Not Intersect(Target, Range("B2,B11,D11")) Is Nothing Then 
     Application.EnableEvents = False 
     For Each C In Target 
      If Not Intersect(C, Range("B2,B11,D11")) Is Nothing And Not C.HasFormula Then _ 
       C.Value = UCase(C.Value) 
     Next C 
     Application.EnableEvents = True 
    End If 
End Sub 

を/ AをコピーしてH6に貼り付けます。それ以外の場合は何も行いません。

これをどのように追加する必要がありますか?

答えて

0

あなたの質問に基づいて、あなたのコードにこれを含める方法もわからない、あなたのコードはあなたのforループの中にifステートメントを開きますが、それを外に閉じます。 H6にデータをコピーするコード:

If (ActiveSheet.Range("G6").Value = "N/A") Then 
    ActiveSheet.Range("H6").Value = ActiveSheet.Range("G6").Value 
Else 
    'do nothing  
End If 
+0

OK、私は再と思うがあったし、これは私が欲しいものを行います。サブ大文字() 「ループサイクルに指定された範囲内の各セルを介して。 各xの範囲( "A1") '範囲内のテキストを大文字に変更します。 x.Value = UCase(x.Value) If ActiveSheet.Range( "H6")。 "G6")。値 Else '何もしない 終了の場合 End Sub これは自動ではありませんが、どうすればいいですか? –

+0

あなたが効果的に書かれているコードこれは言う: 範囲内の各x(「A1」)のための セルA1の範囲A1で唯一の値はので、これはどうするつもりされるすべてのセルA1の大文字 作るがあるさあなたはG6がN/AならH6 = G6の場合 本当に唯一の2つのアクション..あなたは実際何をしようとしていますか? – lllpratll

関連する問題