Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8048 / 13646 ツリー ←次へ | 前へ→

【35374】セルの表示形式について教えてください さちきょん 06/3/2(木) 14:17 質問[未読]
【35377】Re:セルの表示形式について教えてください Jaka 06/3/2(木) 16:06 回答[未読]
【35379】Re:セルの表示形式について教えてください さちきょん 06/3/2(木) 16:20 お礼[未読]
【35403】忘れてた。 Jaka 06/3/3(金) 9:12 発言[未読]
【35378】Re:セルの表示形式について教えてください 記録マクロに毛が3本 06/3/2(木) 16:18 回答[未読]
【35380】Re:セルの表示形式について教えてください さちきょん 06/3/2(木) 16:25 お礼[未読]

【35374】セルの表示形式について教えてください
質問  さちきょん  - 06/3/2(木) 14:17 -

引用なし
パスワード
   A〜C列の記号を規則にしたがって数字に置換した後、
D列に連結して表示をしたいと思います。

0を00と表示したいのですが、A〜C列で置換したときには
00となっているのに、D列で連結すると0と表示されてしまいます。
表示形式をユーザー定義で"00”にしたり、A〜Cの数値を文字列
にしてみたりしたのですが、うまくいきません。
表示したいD列に書式設定のコードを入れればよいのでしょうか?

初歩的な質問ですみません。
よろしくお願いいたします。


品番 A B C  D
   00 99 00  A/0,B/99,C/0 → A/00,B/99,C/00と表示したい。
・・・・


Range("A:C").Select '


  With Selection
   
    .Replace What:="◎", Replacement:=99, _
         LookAt:=xlWhole    '---完全一致
         
    .Replace What:="○", Replacement:=99, _
         LookAt:=xlWhole

    .Replace What:="×", Replacement:=0, _ 
               'ここで=00としても0になってしまいます。
               'ユーザ定義で"00"と表示ともしてみました。

         LookAt:=xlWhole
    
    
  End With

Select Case Cells(v, 1).Value
    '値の取得(前br)
        
    Case "A"
      strTEXT = Size_SS & Size_S & Size_M
    ・
    ・    
      
      
  End Select


If strTEXT <> "" Then
   
    '文字列(strTEXT,カンマ削除)
    
    strTEXT = Left(strTEXT, Len(strTEXT) - 1)
    Cells(v, 4).Value = strTEXT
    strTEXT = ""
    
End If
  
Next v
  
 

【35377】Re:セルの表示形式について教えてください
回答  Jaka  - 06/3/2(木) 16:06 -

引用なし
パスワード
   え〜と、セルに00と表示されていても文字列で無い限り、実際の値は0です。
表示形式は見た目、01と表示されているだけです。

こんな感じにFormat関数で変換。(因みに数値で無く文字になります。)

MsgBox "A/" & Format(range("A1").value, "00") & ",B/" & Format(range("B1").value, "00")・・・

エクセル関数だと
="A/"& TEXT(A1,"00") & " B/" & TEXT(B1,"00") & " C/" & TEXT(C1,"00")

【35378】Re:セルの表示形式について教えてください
回答  記録マクロに毛が3本  - 06/3/2(木) 16:18 -

引用なし
パスワード
   「書式」→「セル」→「ユーザ定義」の
「種類」の所に「00」と入れれば数字の
「0」を「00」と表示します。
でも実際は「0」です。

違ってたらごめんね

【35379】Re:セルの表示形式について教えてください
お礼  さちきょん  - 06/3/2(木) 16:20 -

引用なし
パスワード
   ▼Jaka さんへ

ご回答ありがとうございました。
表示形式は見た目でした!
初歩的な質問でお恥ずかしいです。

どうもありがとうございました。


>え〜と、セルに00と表示されていても文字列で無い限り、実際の値は0です。
>表示形式は見た目、01と表示されているだけです。
>
>こんな感じにFormat関数で変換。(因みに数値で無く文字になります。)
>
>MsgBox "A/" & Format(range("A1").value, "00") & ",B/" & Format(range("B1").value, "00")・・・
>
>エクセル関数だと
>="A/"& TEXT(A1,"00") & " B/" & TEXT(B1,"00") & " C/" & TEXT(C1,"00")

【35380】Re:セルの表示形式について教えてください
お礼  さちきょん  - 06/3/2(木) 16:25 -

引用なし
パスワード
   ▼記録マクロに毛が3本 さんへ

A〜C列にユーザ定義で00としても、D列で統合するときには
実際の0をよんでいるので、「/0」となってしまいます。

Jokaさんに教えていただいたFormat関数で変換できました。

どうもありがとうございました。


>「書式」→「セル」→「ユーザ定義」の
>「種類」の所に「00」と入れれば数字の
>「0」を「00」と表示します。
>でも実際は「0」です。
>
>違ってたらごめんね

【35403】忘れてた。
発言  Jaka  - 06/3/3(金) 9:12 -

引用なし
パスワード
   セルに表示されているまんまなら、これでも取得できます。
ただ、エラーや######はそのまんま文字として取得します。

MsgBox "A/" & Range("A1").Text & "B/" & Range("B1").Text

8048 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free