![](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も見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
エクセルでエラーが出て困っています。
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ランキング
-
この表現は正しいですか?
-
高校受験の面接について
-
“焼肉のたれ” に白ゴマが入って...
-
面接で、 『趣味はなんですか?...
-
「得られる」と「見ながら」の...
-
excel マクロ 「select case」...
-
志願書を書いたのですが鉛筆の...
-
「理由と道理」「理由と筋道」...
-
来たがらない理由 と 来ない理...
-
生きる理由
-
早大本庄志望の中2です。 英語...
-
志望順位って何ですか?
-
有限小数
-
日本男性の草食化の理由について
-
Yahoo!知恵袋と教えてgoo。どっ...
-
近畿地方に住みたいですか?
-
故 訳 由 この3つの使い分けを...
-
高校受験の志願理由書に汚れが…...
-
明日群馬高専の、物質工学科を...
-
急いでいます!!!! 貴塾?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
この表現は正しいですか?
-
日本男性の草食化の理由について
-
アップルウォッチって出たとき...
-
故 訳 由 この3つの使い分けを...
-
再帰的なプログラムの時間計算量
-
小論文でテーマが家族
-
理由を聞くと、なんとなくと答...
-
excel マクロ 「select case」...
-
初恋でなく2番目の恋で結婚する...
-
「理由と道理」「理由と筋道」...
-
“焼肉のたれ” に白ゴマが入って...
-
人の名前でなぜ薊とつけたらダ...
-
面接で、 『趣味はなんですか?...
-
Yahoo!知恵袋と教えてgoo。どっ...
-
「得られる」と「見ながら」の...
-
賃借権を目的として抵当権を設...
-
わざと誘わない人ってなんでで...
-
株価指数でFX
-
志望理由に将来の夢が実家を継...
-
一番かっこいい物理学者は誰で...
おすすめ情報