advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 37667 for IF (0.007 sec.)
[[20191121095023]]
#score: 1591
@digest: 9274a536bb21aa48b0d7ef46702b5cfb
@id: 81436
@mdate: 2019-11-21T06:06:42Z
@size: 3689
@type: text/plain
#keywords: kesikomi (30483), 様短 (6466), 番短 (4777), 渡辺 (3361), elseif (3244), range (2472), c13 (1761), 辺ひ (1600), value (1477), "×" (1247), 独立 (1221), d13 (1085), then (1075), 消去 (985), d12 (937), d11 (837), 木) (820), 短い (802), (渡 (799), c12 (795), 採用 (730), 2019 (722), c11 (718), スル (669), ひか (655), (bi (642), c4 (610), 決済 (601), d10 (592), 感激 (577), c10 (455), スマ (455)
『消去したい』(おじさん)
おたずねします。 ×がついているセルを見て左の値を消去するコードを作成したいのですが最初の行の×だけ消えて残りはスルーします。 間違いの箇所を教えてください。 Sub KESIKOMI() If Range("D4") = "×" Then Range("C4").Value = "" ElseIf Range("D5") = "×" Then Range("C5").Value = "" ElseIf Range("D6") = "×" Then Range("C6").Value = "" ElseIf Range("D7") = "×" Then Range("C7").Value = "" ElseIf Range("D8") = "×" Then Range("C8").Value = "" ElseIf Range("D9") = "×" Then Range("C9").Value = "" ElseIf Range("D10") = "×" Then Range("C10").Value = "" ElseIf Range("D11") = "×" Then Range("C11").Value = "" ElseIf Range("D12") = "×" Then Range("C12").Value = "" ElseIf Range("D13") = "×" Then Range("C13").Value = "" End If End Sub < 使用 Excel:Excel2013、使用 OS:Windows7 > ---- ElseIf を使っているからです それぞれ独立したIF文にしましょう (渡辺ひかる) 2019/11/21(木) 10:07 ---- For〜Nextを使う方法もあります。 Sub KESIKOMI() Dim i As Long For i = 4 To 13 If Range("D" & i).Value = "×" Then Range("C" & i).Value = "" Next End Sub (bi) 2019/11/21(木) 10:14 ---- 渡辺ひかる様 ありがとうございます、やっと理解できました。 以下のように書きましたら動きました。 If Range("D4") = "×" Then Range("C4").Value = "" End If If Range("D5") = "×" Then Range("C5").Value = "" End If If Range("D6") = "×" Then Range("C6").Value = "" End If If Range("D7") = "×" Then Range("C7").Value = "" End If If Range("D8") = "×" Then Range("C8").Value = "" End If If Range("D9") = "×" Then Range("C9").Value = "" End If If Range("D10") = "×" Then Range("C10").Value = "" End If If Range("D11") = "×" Then Range("C11").Value = "" End If If Range("D12") = "×" Then Range("C12").Value = "" End If If Range("D13") = "×" Then Range("C13").Value = "" End If bi様 短いコードに感激です。 採用させていただきます。ありがとうございました。 (おじさん) 2019/11/21(木) 14:02 ---- もう解決済みですが、下記の方法でも可能です。 Sub KESIKOMI() If Range("D4") = "×" Then Range("C4").Value = "" If Range("D5") = "×" Then Range("C5").Value = "" If Range("D6") = "×" Then Range("C6").Value = "" If Range("D7") = "×" Then Range("C7").Value = "" If Range("D8") = "×" Then Range("C8").Value = "" If Range("D9") = "×" Then Range("C9").Value = "" If Range("D10") = "×" Then Range("C10").Value = "" If Range("D11") = "×" Then Range("C11").Value = "" If Range("D12") = "×" Then Range("C12").Value = "" If Range("D13") = "×" Then Range("C13").Value = "" End Sub (bi) 2019/11/21(木) 14:13 ---- これが一番短いですかね Sub KESIKOMI() Range("C4:C13").Value = [if(D4:D13="×","",C4:C13)] End Sub (渡辺ひかる) 2019/11/21(木) 14:39 ---- 渡辺ひかるさんのだとD列が×でなく、C列に何も入力されていない場合、0になってしまわないか? (ねむねむ) 2019/11/21(木) 14:51 ---- ねむねむさん 確かに・・・ スマートじゃないですけど、こうですかね Range("C4:C13").Value = [if(D4:D13="×","",if(len(C4:C13)=0,"",C4:C13))] でも質問者さんの元のコードが Range("C4").Value = "" じゃなくて Range("C4").ClearContents だったら これも使えませんね (渡辺ひかる) 2019/11/21(木) 15:06 ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/201911/20191121095023.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97012 documents and 608132 words.

訪問者:カウンタValid HTML 4.01 Transitional