• ベストアンサー

excel-vba

エクセルVBAで Case Cells(50,"A") Case Cells(51,"A") Case Cells(52,"A") などを更にsheet1のCells(50,"A")とかするにはどう記述すればいいのでしょうか。 ただしこのマクロ(コード)はsheet2を処理対象としているsheet2に含まれているものとします。 (素人なのですがこういう言い方はおかしいですか。マクロってシートごとにも使うマクロを変えることできるんですよね?  Sheet1用のMACROsheet1、Sheet2用のMACROsheet2で互いのシートの上のデータを処理する。)

質問者が選んだベストアンサー

  • ベストアンサー
noname#22222
noname#22222
回答No.3

Sheet2 のマクロ Case Cells(50,"A") は、 Sheets("sheet2").Cells(50,"A") と同じです。 Sheet1の Case Cells(50,"A") も Sheets("sheet1").Cells(50,"A") と同じです。 よって、シート毎にマクロを記述するのであればそのままで結構です。

taktta
質問者

お礼

おかげで解決しました。どうもありがとうございました。

その他の回答 (3)

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.4

このような事でしょうか? Sub MACROsheet1() 'Sheet1 の値をもとに、Sheet2 の値を参照する Sheets(1).Select With Sheets(2) Select Case Cells(1, 1) 'Sheet1 を参照 Case .Cells(50, "A") 'With文で Sheet2 を参照 Case .Cells(51, "A") Case .Cells(52, "A") Case Else End Select End With End Sub

taktta
質問者

お礼

おかげで解決しました。どうもありがとうございました。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

A50,A51,A52のセルの内容と比較するということですか? Case Cells(50,1) Case Cells(51,1) Case Cells(52,1) でできます。

taktta
質問者

お礼

おかげで解決しました。どうもありがとうございました。

noname#123709
noname#123709
回答No.1

Sheets("sheet1").Cells(50,"A") ということでしょうか?

taktta
質問者

お礼

おかげで解決しました。どうもありがとうございました。