• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBAについて教えてください。)

エクセルVBAについての質問

このQ&Aのポイント
  • エクセルVBAに関する2つの質問です。1つ目は、5列目の右端の数字を2列目の右端に持ってくるためのVBAの組み方についてです。2つ目は、2列目の両端(1と5)を選択して削除する方法についてです。
  • エクセルVBAの質問です。1つ目の質問は、5列目の右端の数字を2列目の右端に持ってくる方法についてです。2つ目の質問は、2列目の両端(1と5)を選択して削除する方法についてです。
  • エクセル2007のVBAに関する2つの質問です。1つ目の質問は、5列目の右端の数字を2列目の右端に持ってくるためのVBAコードの組み方についてです。2つ目の質問は、2列目の両端(1と5)を選択して削除する方法についてです。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

A列から右端列まで、カタマリがどこに来るか想定したくないってことなら。 sub macro1()  with application  if .count(range("2:2")) < 2 then  msgbox "ERROR"  exit sub  end if  iif(.isnumber(range("A2")), range("A2"), range("A2").end(xltoright)).clearcontents  iif(.isnumber(cells(2, columns.count)), cells(2, columns.count), cells(2, columns.count).end(xltoleft)).clearcontents  end with end sub >以上の条件で 終わらないご相談や、あれもこれもどれもそれもなご相談ばっかりです。

tdc2012bb
質問者

お礼

できました。ありがとうございました。

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

>1 2行目も5行目も反対側からジャンプして端を拾います。 range("IV5").end(xltoleft).offset(0, 1).value = range("IV2").end(xltoleft).value >2 とりあえず簡単に思いつくマクロ: union(range("E2"), range("IV2").end(xltoleft)).clearcontents しかし実は質問1でも同じですが、2行目に 1)確かに一塊の数字が並んでいる場合 2)実は1個しか数字が入ってない場合 3)実は1つも数字が書かれてない場合 また 4)とりあえずE2から数字が並んでいることになっているが、それは本当にそうなのか 5)いまは1,2,3,4,5と5つ数字が並んでいる事になってるけど、他のセルはホントに空っぽなのか、たとえば5の右に少し空白を置いてまた次に何か書いてあったりしないのか など、あらゆる場合を想定してプログラムを(動作を)考えないと、すぐに「想定外」でおかしな動作をするマクロになります。 ご自分でももう少し深く考えて、実際にヤリタイ事に応じたマクロを工夫してみて下さい。

tdc2012bb
質問者

補足

回答ありがとうございます。 1つ目の質問ですが、自分なりに少し変えてうまくできました。 2つ目の質問に補足ですが、E5は固定ではなくあくまで数字のひと固まりの左端と右端を削除するということになります。5行目は固定ですが数字の塊の始まりと終わりは毎回変動します。 また、塊になった数字の間にスペースが入ることはありません。 1つしか数字が入っていない場合または1つも入っていない場合はエラーメッセージを出します。 以上の条件でどのようにすればいいのかをお教え頂くと助かります。

関連するQ&A