2017-10-27 7 views
-2

私はこの問題に悩まされています。既存のセルの値を取り消し、セルに上付き文字を追加するユーザーフォーム

私はユーザーが最後の入力データを保護するコマンドボタンで新しいデータを入力して確認できるシートを持っています。ユーザーが確認後に間違いを犯した場合は、確認後にデータを変更するかどうかを知る必要があるため、回答を変更することはできません。そう。

エラー番号(例:1,2,3など)のセル番号(例:A4)を入力し、間違いのタイプを選択できるユーザーフォームを作成しました(例:明確化、表記ミス等)。そして、彼は説明するテキストボックスを得た。

私が今必要としていることは、セルの既存の値を取り消し、エラー番号をセルの上付き文字の形で追加します(ただし、取り消し線ではありません)。誰もそれで私を助けることができますか?

それもエラー番号を取り消し線cuzの私は、そこにこだわっている私は

Private Sub CommandButton1_Click() 

ActiveSheet.Unprotect 
' Textbox1 is the place where the user enter the Cell he need to change 
Range(TextBox1.Value).Select 
' Textbox3 is the error type 
If Textbox3.Value = "EI" Then 
ActiveCell.Font.strikethrough = True 
Else 
ActiveCell.Font.strikethrough = False 
End If 

ActiveCell.Value = ActiveCell.Value & TextBox2.Value ' textbox2 is the error number 

ActiveSheet.Protect 

End Sub 

を持っているものがあり、より多くのだが、残りの部分を私は今、このために自分

ことによってそれを見つけることができますこれは上付き文字形式ではありません。

エラータイプが「EI」の場合にのみ、取り消し線を使用する必要があります。

それは明確ですか?申し訳ありませんが、私は自分の状況を説明するために最善を尽くしています。

感謝再び

+0

申し訳ありませんが、私は迷っています...あなたの質問は何ですか? –

+0

申し訳ありませんが、私は投稿を変更しようとします。私は、ユーザーが選択したセルの既存の値だけを取り消す方法を見つけることができず、エラー番号を同じセルに追加しますが、その番号は取り消し線ではありません。 – Goldfinch1986

+0

インターフェイスを使用して取り消し線と必要なすべての書式を適用できますか?インターフェイスを使用できない場合、VBAを使用することはできません。あなたがインターフェースでできるなら、あなたが望むものをよりよく説明するべきです。マクロの記録中に手動で書式を設定すると、関連するプロパティを理解するのに役立ちます。 – stenci

答えて

0

私はあなたがこのような何かを探していると思う:

ActiveSheet.Range(YourTextBox.Text)

:入力したセルを "発見"

  1. このセルの書式設定部分(書式の開始文字と長さを入力します):

    ActiveSheet.Range(YourTextBox.Text).Charactersで

    (:= 2、長さ:スタート= LEN(ActiveSheet.Range(YourTextBox.Text)) - 1)

で.Font .Strikethrough = Trueの 終了

- >このスニペットでは、それはあなたが必要とするすべてのコードではありませんが、私はそれが役に立てば幸い終了

に2つ目の文字からフォーマットするでしょう...

+0

あなたにとって重要なことは "[cell] .Characters(開始:= 1、長さ= 1)"です。 – stefan

0

は、使用してみてください:

With ActiveCell.Characters(Start:=1, Length:=Len(*****)).Font 
    .Strikethrough = True 
End With 

取り消し線のテキストが1から始まるかどうかを確認する必要があります。 Lenファンクションを使用して長さを設定するか、変数に初期長さを格納します。 お手伝いをしてください。

関連する問題