Excel VBA質問箱 IV

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

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


46440 / 76732 ←次へ | 前へ→

【35263】Re:テキストボックスに表示させた値の小...
発言  ぷーちゃん  - 06/2/24(金) 14:57 -

引用なし
パスワード
   ▼かみちゃん さん:
>どんなコードを書いたのか、ご提示がないので、わかりませんが、
>Sub Test1()
> Dim Data As Single
> 
> Data = 85.245
> MsgBox Format(Data, "0.0")
>End Sub
>
>Sub Test2()
> MsgBox Format(Range("A1").Value, "0.0")
>End Sub


かみちゃんさん、質問内容が解り難くて、すいません。
今、下記のようなコードで計算していて、最後に計算したBBB11とBBB55の値をセルIT1とIU1に入れて、このセル内の値をコントロールツールボックスから作ったテキストボックス(Textbox1)に、LinkedCellを用いて表示させています。

ここでTextbox1内の値の表示を、小数点1桁にしたいのですが、小数点以下が0の場合は1桁表示にならないので(1.0や3.0は1や3になってしまう)、これを直したいのです。  よい方法がありましたら、よろしくお願い致します。


Sub Macro4()
'
' Macro4 Macro
'
  Dim MyCh As Chart, MySe As Variant
  Dim i As Integer
  Dim MxP As Single, MiP As Single
  Dim KanA As Single, KanB As Single

  AAA1 = 5
  AAA2 = 10
  AAA3 = 50
  AAA4 = 500
  AAA5 = 5000
  AAA6 = 50000
  AAA7 = 500000

  BBB = 5

  Set MyCh = ActiveSheet.ChartObjects("グラフ 809").Chart
  Set MySe = MyCh.SeriesCollection
  With WorksheetFunction
   For i = 1 To MySe.Count
     If i = 1 Then
      MxP = .Max(MySe.Item(i).Values)
      MiP = .Min(MySe.Item(i).Values)
     Else
      If .Max(MySe.Item(i).Values) > MxP Then
        MxP = .Max(MySe.Item(i).Values)
      End If
      If .Min(MySe.Item(i).Values) < MiP Then
        MiP = .Min(MySe.Item(i).Values)
      End If
     End If
   Next i

   MxP = .Ceiling(MxP, 0.05)
   MiP = .Floor(MiP, 0.05)

If MiP < 100 Then KanA = AAA1
If MiP >= 100 And MiP < 1000 Then KanB = AAA2
If MiP >= 1000 And MiP < 10000 Then KanB = AAA3
If MiP >= 10000 And MiP < 100000 Then KanB = AAA4
If MiP >= 100000 And MiP < 1000000 Then KanB = AAA5
If MiP >= 1000000 And MiP < 10000000 Then KanB = AAA6
If MiP > 10000000 Then
KanA = AAA7
End If
  End With
  
  With WorksheetFunction
   MxP = .Ceiling(MxP, KanB)
   MiP = .Floor(MiP, KanB)
  End With
    
  With MyCh.Axes(xlValue)
   .MinimumScale = MiP
   .MaximumScale = MxP
  End With
  
  BMa1 = MyCh.Axes(xlValue).MajorUnit
  BMi1 = MyCh.Axes(xlValue).MinimumScale
  BBB1 = BMi1 + BMa1
  BBB4 = BMi1 + BMa1 * (BBB - 1)
  BBB5 = BMi1 + BMa1 * BBB
  
  BBB11 = ((BBB1 / BMi1) - 1) * 100
  BBB55 = ((BBB5 / BBB4) - 1) * 100
 
  Range("IT1") = Round(BBB11, 1)
  Range("IU1") = Round(BBB55, 1)

Set MySe = Nothing: Set MyCh = Nothing

End Sub

0 hits

【35245】テキストボックスに表示させた値の小数点... ぷーちゃん 06/2/24(金) 10:59 質問
【35246】Re:テキストボックスに表示させた値の小数... Jaka 06/2/24(金) 12:55 発言
【35255】Re:テキストボックスに表示させた値の小... ぷーちゃん 06/2/24(金) 14:09 お礼
【35247】Re:テキストボックスに表示させた値の小数... かみちゃん 06/2/24(金) 12:59 発言
【35254】Re:テキストボックスに表示させた値の小... ぷーちゃん 06/2/24(金) 13:58 質問
【35256】Re:テキストボックスに表示させた値の小... かみちゃん 06/2/24(金) 14:10 発言
【35263】Re:テキストボックスに表示させた値の小... ぷーちゃん 06/2/24(金) 14:57 発言
【35264】Re:テキストボックスに表示させた値の小... かみちゃん 06/2/24(金) 15:14 発言
【35265】Re:テキストボックスに表示させた値の小... ぷーちゃん 06/2/24(金) 15:36 お礼

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