• ベストアンサー

excel2007 マクロ 空白表示

Sheet上の範囲内のセルに空白があったら、そのセルには”0001”と表示させたい。 もし空白でなかったら処理はしない! という記述をしたいのですが上手くいきません 教えてください。 Dim sa As String sa = ThisWorkbook.Worksheets("提出").Range("B10:AF44") If sa = "" Then ThisWorkbook.Worksheets("提出").Range("B10:AF44") = "0001" Else End If

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

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

>質問なのですが 今回のあなたのご質問は「提出シートの空白セルに0001を記入したい」です。 新しいご質問内容をだらだらと続けるのはやめて、次のご相談投稿として仕切り直して下さい。 >入力Sheetが空白な場合は 入力シートが空白か否か、前回のマクロで確認済みなので、しっかりと理解してください。そこに機能を追加します。  for each h in worksheets("入力").range("D10:AH44")  if h <> "" then ’空白ではない ’既出マクロ  else ’空白である  worksheets("提出").range(h.offset(0, -2).address).clearcontents  end if  next

pop2003
質問者

お礼

わかりました。ありがとうございました。

pop2003
質問者

補足

本当にありがとうございました。

その他の回答 (1)

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

sub macro1() worksheets("提出").range("B10:AF44").numberformatlocal = "@" worksheets("提出").range("B10:AF44").specialcells(xlcelltypeblanks).value = "0001" end sub みたいな。

pop2003
質問者

補足

質問なのですがページ移動のときに 入力Sheetが空白な場合は、提出Sheetに移動したときに反映させるように空白にしたいです。どのように記述を入れればよいのでしょうか? 理由としまして、提出Sheet上には前に入力していたものが残っています。 例) 入力Sheetが””→提出Sheet以前のがのこっているため”002”と表示されています。 したいこと) 入力Sheetが””→提出Sheetに移動したとき”002”から”001”と変化させミスを防ぎたいです。 Sub 提出_Click() '提出用のページへ移動 Dim h As Range Dim c As Range For Each h In Worksheets("入力").Range("D10:AH44") If h <> "" Then Set c = Worksheets("勤務マスタ").Range("B5:B83").Find(what:=h.Value, LookIn:=xlValues, lookat:=xlWhole) If Not c Is Nothing Then c.Offset(0, 3).Copy Destination:=Worksheets("提出").Range(h.Offset(0, -2).Address) End If End If Next '提出用ページに移動 Sheets("提出").Select Range("B1").Select End Sub

関連するQ&A

専門家に質問してみよう