とある表作成に下記のようなコマンドボタンを作成しましたが、
1回目は良いのですが、修正が発生し、2回目以降で再計算をする場合、
更にC列が挿入されてしまい、表が崩れてしまいます。
(Sheet1に計算表、Sheet2にデータベースという形にしています。)
その為、2回目以降はSheet2のC列を挿入しないようにしたいのです。
1つの案として列挿入後、C1セルは絶えず空白のままとなり、
(行挿入前は文字が入っています)挿入後はC1セルに文字を
入力することはない為、そこから判断して、CommandButton1を押した後、
C列を挿入するしないの作業を変えることは可能でしょうか?
もし出来なければ、C1セルが空白の場合、
”Sheet2のC行を削除後、再度実施して下さい”みたいな
メッセージボックスを出す形でもOKです。
よろしくお願いいたします。
※因みに下記は、分からないながらもマクロの記録を使って試行錯誤しながら
自己作成したものですので、不要な文が入っているかも知れません。
すみませんがよろしくお願いいたします。
ーーーーーーーーーーーーーーーーーーーーーーーーーーー
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Sheet2.Select
Sheet2.Columns("C:C").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Sheet2.Range("C2").Select
ActiveCell.FormulaR1C1 = "=RC[-1]-RC[2]"
Application.CutCopyMode = False
Sheet2.Range("C2").Copy
Sheet2.Range("C2:C20000").PasteSpecial
Sheet2.Range("C2").Select
Sheet1.Select
Range("E4").Select
Application.ScreenUpdating = True
End Sub
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
No.2ベストアンサー
- 回答日時:
あ、ごめんなさい、質問内容を勘違いしていました。
空の時に中断するんですね。逆にしていました。
また、空かどうかのチェックはSheet2のC1セルだけで良いのですね。
If WorksheetFunction.CountA(Range("C:C")) <> 0 Then
↓
If Range("C1") = "" Then
で、如何でしょう
ありがとうございます。
できました。
因みに、別シートからの実行だったので、
Rangeの前にSheet名を入れてあげないとうまく動きませんでしたが、
Sheet2と入れてあげるとうまく出来ました!
本当に助かりました。ありがとうございました。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
If Sheet2.Range("C1") = "" Then
MsgBox ("Sheet2のC行を削除後、再度実施して下さい")
Application.ScreenUpdating = True
Exit Sub
End If
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
No.1
- 回答日時:
取り敢えず、「Sheet2.Select」の後に↓このコードを追加すると、お望みの動きになると思います。
If WorksheetFunction.CountA(Range("C:C")) <> 0 Then
MsgBox ("Sheet2のC行を削除後、再度実施して下さい")
Application.ScreenUpdating = True
Exit Sub
End If
この回答への補足
ご回答ありがとうございます。
上記の式を入れてみたところ、
メッセージボックスが出てくる為、
削除を実施し、再度ボタンを押しましたが、
また、同様に”Sheet2のC列を削除後、、”のメッセージが
出てきてしまいます。CountA関数を使用しているようなので、
Range("C:C")の部分をC1のみに限定してやってみましたが
うまくいきませんでした;;
何処がおかしいのでしょうか?
ご確認頂けると助かります。
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Excel(エクセル) Excel VBA 空白行があるセル範囲に色を付ける 3 2022/06/13 15:58
- Visual Basic(VBA) EXCELのVBAについて 2 2023/07/05 17:17
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- Visual Basic(VBA) vbaでセルに入力したときに,その横にあるセルを保護し入力不可にするマクロを作りたいです。 2 2022/04/24 20:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
太ってる女とのSEX
-
恋人などと挿入したまま入眠し...
-
処女卒業して3ヶ月の大学生です...
-
直ぐに挿入をせまる彼女
-
もう少しでイケそうな時、どん...
-
女性の方へ、イクことと女性の...
-
40代男性が好むSEXはどんなもの...
-
挿入時、キツっって言いながら...
-
入れてる最中に、『めっちゃ濡...
-
手コキとマンコに挿入するのと...
-
AVって、本当に挿入してるんで...
-
女性の方 イクようになったき...
-
(女性へ質問)ピストン運動の...
-
入ってるかどうかわからない
-
女です。高確率で前戯でイッて...
-
あそこが狭い女性とのHについ...
-
いきそうでいけない・・・
-
嫁がバイブでしか逝きません。
-
高齢熟女も濡れるんですか?
-
すぐ乾いて挿入できません
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
恋人などと挿入したまま入眠し...
-
太ってる女とのSEX
-
直ぐに挿入をせまる彼女
-
40代男性が好むSEXはどんなもの...
-
挿入時、キツっって言いながら...
-
処女卒業して3ヶ月の大学生です...
-
入れてる最中に、『めっちゃ濡...
-
もう少しでイケそうな時、どん...
-
女性の方へ、イクことと女性の...
-
手コキとマンコに挿入するのと...
-
あそこが狭い女性とのHについ...
-
入ってるかどうかわからない
-
いきそうでいけない・・・
-
嫁がバイブでしか逝きません。
-
すぐ乾いて挿入できません
-
挿入しやすい体位
-
女性の方 イクようになったき...
-
挿入のときに力を抜く方法はあ...
-
挿入中の潮について、ものすご...
-
前戯で一回イッてもらっていい...
おすすめ情報