- ベストアンサー
Excel VBAでセルの値を入れ替えるプログラムを作成する方法
- ExcelのVBAを使用して、特定のセルの値を入れ替えるプログラムを作成する方法について教えてください。
- 上記のVBAコードを使用することで、Excelの特定のセルの値を簡単に入れ替えることができます。
- プログラミング初心者の方でも、このコードを使用すればセルの値の入れ替えが可能です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Sub 演習1() '演習1 というプログラム Dim sheetobj As Worksheet ' sheetobj という変数を、ワークシート型で宣言します。 (=sheetobj という変数を使いますよ。それはワークシートです) Dim a As Integer ’a という変数を、整数型で宣言します。 (=a という変数を使いますよ。それは整数型です。) Set sheetobj = ThisWorkbook.Worksheets("演習1") '変数sheetobj は、このブックの「演習1」シートとします。 With sheetobj ’sheetobj に関して a = .Cells(1, 1) ' 変数a は、sheetobj(シート演習1)の、A1セルの値とします。 .Cells(1, 1) = .Cells(1, 2) ' そのA1 セルの値を、このシートのB1セルの値にします。 .Cells(1, 2) = a ’B1セルの値を、変数aの値(A1セルの値)にします。 End With 'sheetobj に関するまとめは終わり。 End Sub 'プログラム終わり。 With ~ End With はひとかたまりです。 毎行毎行、「sheetobjの~セルは」 というのが面倒くさいので、 With sheetobj と冒頭にいうことで、それ以降の重複の説明を省いています。 このあたりはVBAの入門書でも読んでみてください。
その他の回答 (1)
- queuerev2
- ベストアンサー率78% (96/122)
プログラムの解説についてはNo.1様のていねいな回答があるのでよいとして、エラーは解消したでしょうか? このプログラムをExcel2003で動作させたところ、以下のような状況でエラーとならずに動作しました。 ・「演習1」という名前のシートがある ・「演習1」のセルA1の値が32767.5未満、-32768.5以上の範囲の数値である。 (または、セルA1が空である) なお、このプログラムを置く場所は、標準モジュールでもシートモジュールでもそれ以外のモジュールでも大丈夫なようです。