![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
初めまして。
仕事にて、EXCELに工程遅延の原因を記入しているのですが、
同じ理由(約50種類あります)を何度も記入する必要があるため、
理由ごとに番号を割り振って、ボタン一つで記入できるようにしたいと思っています。
そこで、下記のようにマクロを作成してみたのですが、
現状では、例えばCells(1, 1)に何かを特記していた場合、
記入後にこのマクロを実行してしまうと、Cells(1, 1)の特記が、
上書きにより消えてしまいます。
そこで、Cells(num, 1)が空白であれば、Cells(num, 1)に上書きする、
という条件を付加したいのですが、可能でしょうか。
EXCELマクロの本を参考に作成しているのですが、
組み合わせの方法が分かりません。
お時間がある方いらっしゃいましたら、
ご検討よろしくお願い致します。
Sub 理由挿入()
Dim num As Integer
For num = 1 To 100
Select Case Cells(num, 2).Value
Case 1
Cells(num, 1).Value = "理由1"
Case 2
Cells(num, 1).Value = "理由2"
Case 3
Cells(num, 1).Value = "理由3"
Case 4
Cells(num, 1).Value = "理由4"
End Select
Next
End Sub
No.1ベストアンサー
- 回答日時:
Sub 理由挿入()
Dim num As Integer
For num = 1 To 100
If Cells(num, 1).Value = "" Then
Select Case Cells(num, 2).Value
Case 1
Cells(num, 1).Value = "理由1"
Case 2
Cells(num, 1).Value = "理由2"
Case 3
Cells(num, 1).Value = "理由3"
Case 4
Cells(num, 1).Value = "理由4"
End Select
End If
Next
End Sub
でいいんじゃないか。
No.4
- 回答日時:
> EXCELマクロの本を参考に作成しているのですが、
> 組み合わせの方法が分かりません。
Select Caseの中に、更にIfやSelect Caseを入れられます。
以下は、Cells(i, 1)が空白でない場合は改行をして同じセルに
追記する場合のサンプルです。
(セルに記録する値を、一旦変数で受ける形にしました)
Sub 理由挿入()
Dim i As Integer, Val1 As String, Val2 As String
For i = 1 To 100
Val1 = Cells(i, 1)
Val2 = Cells(i, 2)
Select Case Val2
Case 1
'If文を入れ子にする例(1)
If Val1 = "" Then
Val1 = "理由1"
Else
Val1 = Val1 & vbCrLf & "理由1"
End If
Case 2
'If文を入れ子にする例(2)
If Val1 = "" Then Val1 = "理由2" & Val1 = Val1 & vbCrLf & "理由2"
Case 3
'IIF関数を使用する例
Val1 = IIF(Val1 = "", "", Val1 & vbCrLf) & "理由3"
Case 4
'Select Case を入れ子にする例
Select Case Val1
Case ""
Val1 = "理由4"
Case Else
Val1 = Val1 & vbCrLf & "理由4"
End Select
End Select
'変数に記録した値でセルを上書き
Cells(i, 1) = Val1
Next
End Sub
DexMachina殿
ご回答ありがとうございます。
無事、ファイルを作成することができました。
丁寧にご記入くださったのに、ポイントを差し上げることができず、
申し訳ございません。
No.3
- 回答日時:
うぎゃ・・・End Ifの位置をまちがった^-^;
Sub 理由挿入()
Dim num As Integer
For num = 1 To 100
If Cells(num,1) = "" Then
Select Case Cells(num, 2).Value
Case 1
Cells(num, 1).Value = "理由1"
Case 2
Cells(num, 1).Value = "理由2"
Case 3
Cells(num, 1).Value = "理由3"
Case 4
Cells(num, 1).Value = "理由4"
End Select
End If
Next
End Sub
No.2
- 回答日時:
IF文で空白の時だけSelect文を実行するようにすれば
処理可能です
Sub 理由挿入()
Dim num As Integer
For num = 1 To 100
If Cells(num,1) = "" Then
Select Case Cells(num, 2).Value
Case 1
Cells(num, 1).Value = "理由1"
Case 2
Cells(num, 1).Value = "理由2"
Case 3
Cells(num, 1).Value = "理由3"
Case 4
Cells(num, 1).Value = "理由4"
End Select
Next
End If
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- Visual Basic(VBA) vbaでセルに入力したときに,その横にあるセルを保護し入力不可にするマクロを作りたいです。 2 2022/04/24 20:59
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Visual Basic(VBA) マクロ実行時、自動で背景色を変えたい。 C列にあるチェックボックスをチェックするとB列に「TRUE」 4 2022/11/08 11:14
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) vbaを早くしたい 5 2022/09/09 10:58
- Visual Basic(VBA) 他のシートからコピーする下記マクロで貼付け位置をWorksheets(1).Range("A3")の 8 2023/01/30 18:48
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
エクセルでエラーが出て困っています。
Excel(エクセル)
-
Excelの条件付き書式設定の太い罫線
Excel(エクセル)
-
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
-
4
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
5
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
6
VBA Cのセルが空白でなかったら、Aのセルに順番に数値を入力
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
この表現は正しいですか?
-
一番かっこいい物理学者は誰で...
-
志望理由に将来の夢が実家を継...
-
故 訳 由 この3つの使い分けを...
-
Yahoo!知恵袋と教えてgoo。どっ...
-
Fラン行かない理由は?Fランっ...
-
皆さんはxbox one Xは買います...
-
賃借権を目的として抵当権を設...
-
日本男性の草食化の理由について
-
アップルウォッチって出たとき...
-
今もしiPhoneを買うならばiPhon...
-
急いでいます!!!! 貴塾?
-
学校サボって一人で外出した事...
-
来年受験があります、偏差値39...
-
昔と今は偏差値の出し方が違う...
-
知能偏差値ってなんですか
-
私立高校無償化
-
日大三高「特進クラス」の偏差...
-
何故、界隈によって顔面偏差値...
-
偏差値48くらいの私立高校で500...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
この表現は正しいですか?
-
日本男性の草食化の理由について
-
アップルウォッチって出たとき...
-
故 訳 由 この3つの使い分けを...
-
再帰的なプログラムの時間計算量
-
小論文でテーマが家族
-
理由を聞くと、なんとなくと答...
-
excel マクロ 「select case」...
-
初恋でなく2番目の恋で結婚する...
-
「理由と道理」「理由と筋道」...
-
“焼肉のたれ” に白ゴマが入って...
-
人の名前でなぜ薊とつけたらダ...
-
面接で、 『趣味はなんですか?...
-
Yahoo!知恵袋と教えてgoo。どっ...
-
「得られる」と「見ながら」の...
-
賃借権を目的として抵当権を設...
-
わざと誘わない人ってなんでで...
-
株価指数でFX
-
志望理由に将来の夢が実家を継...
-
一番かっこいい物理学者は誰で...
おすすめ情報