アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは。
質問タイトルとおり、下線をつけることで悩んでいます。
と言いますのも、前日に始めの5桁または7桁だけ入力し、末の4桁または2桁を手書きしています。

たとえば、
A12345678という番号だとしますと、
前日に
A1234までをエクセルに入力します。
翌日、5678を手書きします。これは業務上、その日にならないと決定しないので、どうしても前日に入力することが不可能だからです。
しかし、これをするとその日に記入漏れが起こっています。
そこで、そのセルに文字を入力したら、9桁分下線をつけるなどをして、注意をはらうようにしたいのです。
下線にこだわっているわけではありませんが、カラー印刷はできなくて、セル全体の色をグレーなどにすると、却ってうもれてしまいそうですし、その最後の2桁または4桁に記入、という意味で目立たせたくて悩んでいます。

どなかた、知恵をお貸しくださいませ。

A 回答 (20件中1~10件)

条件付き書式設定で、余計な条件が付いていたりしませんか?


例えば、=$A$1="" のような書式が設定されていると、$A$1が未入力の場合、その書式設定が有効になってしまい、アンダーバーの書式が適用されないことがあります。
とりあえず、一旦、すべての条件付き書式をクリアして、再設定してみることをお勧めします。
それでもダメなようであれば、Excelのバグが疑われますが、もしそうなると、どうしようもないですね~。
    • good
    • 0
この回答へのお礼

お礼が遅くなって申し訳ございません。辛抱強く、的確に回答していただいて感謝しております。職場でもとても評判がよく、スタッフ一同助かっています。これでできました。本当にありがとうございました。

お礼日時:2016/05/31 13:55

No18 ママチャリです。


「書式」ボタンをクリックすると「セルの書式設定」ウィンドウが表示されますよね。その中に「表示形式」「フォント」「罫線」「塗りつぶし」の4つのタグがあり、「表示形式」のタグでユーザ定義が選べると思うのですが・・・。
当方、Excel2010なのですが、2013にはないのかな?
    • good
    • 0
この回答へのお礼

お礼が遅くなり申し訳ありません。
できた!!!と、目からうろこで喜んでたのですが、、、選択する範囲が多いせいでしょうか?
はじめのセルを入力しない限り、他のセルのアンダーラインが反応してくれません。はじめのセルを入力すると、完璧にできました。
が、はじめのセルを入力しない可能性もあります。
面倒で申し訳ございませんが、ご教授くださいませ。

お礼日時:2016/05/11 11:12

条件付き書式設定でも、表示形式に@"_ _"が指定できます。

また、複数の条件を指定することもできます。
そこで、5桁の場合は、アンダーバー4つ。7桁の場合は2つとしてみてはいかがでしょうか。

例、A1の条件付き書式を設定する
【ルール1】
条件 =LEN(A1)=5
表示形式 @"_ _ _ _"

【ルール2】
条件 =LEN(A1)=7
表示形式 @"_ _"
    • good
    • 0
この回答へのお礼

ありがとうございます!まさに、やりたいことのご回答だと思います!
ただ、すみません。今やってみたのですが、わかりません。
条件付書式を選んでから、「数式を選んで書式設定...」を選べばいいのですよね?で、どこに表示形式を入力したら良いのでしょうか?「書式」しか選べなくて。。。
初心者ですみません。お手数ですが、ご教授下さい。

お礼日時:2016/05/08 12:16

☆フォントで調整する


 ① フォントの大きさを変える。
 ② フォントを太字(Bold)にする。
 ③ フォント自体を太めなものを選ぶ。

☆書式の設定で前後に空白を入れて調整する
 ④「" "@*_」、「" "@*_" "」、「" "@*_" "」など

この辺をうまく組み合わせれば出来そうです。
    • good
    • 0
この回答へのお礼

ありがとうございます。お礼が遅くなって申し訳ありません。実はセルの長さやフォントは、他の項目と伴い、ギリギリにあわせていたので変更する事ができませんでした。すごくよいヒントを頂きまして感謝しておりますが、ドンピシャ回答を頂いた方を今回ベストアンサーとさせて頂きます。このたびは本当にありがとうございました。

お礼日時:2016/05/31 13:58

アンダーバーで調整するのではなく、セルの幅を調整します。

9文字ではアンダーバーが見えず、8文字以下ではアンダーバーが表示されるようにします。
    • good
    • 0
この回答へのお礼

なるほど!やっと理解しました。度々、ご丁寧にありがとうございます。しかし、残念ながら、上下に色々と複雑に項目を組み込んでいて、セルの調整はできません。。。親身に考えていただいたのに、すみません。今後の参考にさせて頂きます。

お礼日時:2016/05/04 17:28

対象のセルを選択しておいて、右クリックで「セルの書式設定」を選択して「分類(C)」は「ユーザー定義」を選択、「種類(T)」に「@*_」と入力します。

「OK」ボタンを押して決定します。こちらでは、これで出来ました。お試し下さい。
「エクセル 文字を入力したら、その行末2桁」の回答画像15
    • good
    • 0
この回答へのお礼

何度もご親切にありがとうございます。できました。ただ、アンダーバーがいらないもの(9桁入力済み)にもついてしまい、アンダーバーで調整しようとしましたが、できませんでした。せっかく何度もいっていただいたのに申し訳ありません。

お礼日時:2016/05/04 13:00

No.10・13です。



たびたびごめんなさい。
よく質問文を読んでみると

>翌日、5678を手書きします。

とありますが、
Excel上で編集するのではなく、プリントアウトしたものに手書きで入力する!
というコトですかね?
そのために不足の文字分だけ目印がほしい!という意味だとすると・・・

今までのコードはすべて消去し↓のコードにしてみてください。
(今回もシートモジュールです。A列限定としています)

Private Sub Worksheet_Change(ByVal Target As Range) 'この行から//
If Intersect(Target, Range("A:A")) Is Nothing Or Target.Count > 1 Then Exit Sub
Dim k As Long, str As String
With Target
.Font.Underline = xlNone
If .Value <> "" Then
If Len(.Value) < 9 Then
str = .Value & WorksheetFunction.Rept(" ", 10 - Len(.Value))
.Value = str & "'"
For k = 1 To Len(str) - 1
If Mid(str, k, 1) = " " Then
With .Characters(Start:=k, Length:=1).Font
.Underline = xlUnderlineStyleSingle
End With
End If
Next k
.Characters(Start:=11, Length:=1).Font.ColorIndex = 2
End If
End If
End With
End Sub 'この行まで//

※ Excel上での編集は全く考えず
プリントアウトした時の体裁重視にしています。

※ A列のフォントは半角英数で入力するとしています。
※ A列のフォントは「MSゴシック」等の「P」なし(プロポーショナルフォントでない)で設定してください。
「P」付きのフォントだとアンダーラインの長さがバラバラになります。m(_ _)m
    • good
    • 0
この回答へのお礼

ありがとうございます。すみません、私には少し難しかったです。もっと勉強します。

お礼日時:2016/05/31 13:59

No.10です。



>そのセルに文字を入力したら、9桁分下線をつけるなどをして、注意をはらうようにしたいのです

一案です。9文字になっていない部分だけアスタリクス「*」で表示してみてはどうでしょうか?
今回もVBAで、A列限定としています。

前回のコードはすべて消去し↓のコードにしてみてください。
(今回もシートモジュールですので、操作方法は前回書いた方法でOKです)

Dim cnt As Long, myStr As String 'この行から//
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A:A")) Is Nothing Or Target.Count > 1 Then Exit Sub
With Target
cnt = Len(.Value)
If cnt < 9 Then
myStr = .Value & WorksheetFunction.Rept("*", 9 - Len(.Value))
.Value = myStr
ElseIf cnt > 9 Then
MsgBox "文字数が多すぎます"
.Select
End If
End With
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("A:A")) Is Nothing Or Target.Count > 1 Then Exit Sub
With Target
If .Value <> "" Then
cnt = Len(.Value)
If InStr(.Value, "*") > 0 Then
MsgBox "あと " & 9 - Len(Replace(.Value, "*", "")) & "文字 です"
Application.EnableEvents = False
.Value = WorksheetFunction.Substitute(.Value, "*", "")
Application.EnableEvents = True
Application.SendKeys "{F2}"
End If
End If
End With
End Sub 'この行まで//

※ これで9文字になっていない部分だけ「*」が表示され、
そのセルを選択するとアスタリクスは消えて編集可能になるはずです。m(_ _)m
    • good
    • 0
この回答へのお礼

ありがとうございます。すみません、私には少し難しかったです。もっと勉強します。

お礼日時:2016/05/31 13:59

1個のセルではなく9個のセルにそれぞれ1文字づつ表示させるのはどうでしょうか?


9個のセルを罫線で囲えばあと何桁書き込まないといけないのかわかると思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。しかし、残念ながら小さな字で表示させていますので、行がとても細かくなりすぎて見辛くなってしまい、今回は合ませんでした。申し訳ありません。

お礼日時:2016/05/04 11:12

対象行を固定長フォントを使い、書式設定を「@*_」にして9文字入力した時に「_」が表示しなくなるまで幅を調整します。

    • good
    • 1
この回答へのお礼

書いていただいたとおり入力したら、「できません」とエラーになりました。” ”などは必要ですか?

お礼日時:2016/05/04 11:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!