Excel VBA質問箱 IV

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

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


9850 / 13644 ツリー ←次へ | 前へ→

【25098】Lenについて ユタ 05/5/20(金) 10:20 質問[未読]
【25132】Re:Lenについて ichinose 05/5/20(金) 18:18 発言[未読]

【25098】Lenについて
質問  ユタ  - 05/5/20(金) 10:20 -

引用なし
パスワード
   CSVのデータから16桁の長い数字だけ短くしたく次のような
式をつくりました。

Dim myRow1 As Variant
For myRow1 = Cells(Rows.Count, 7).End(xlUp).Row To 1 Step -1
If Len(Cells(myRow1, 7)) = 20 Then Cells(myRow1, 7).Value = Right(Cells(myRow1, 7), 11) / 1E+15
Next

質問は
1.Excel関数ではLenでは16桁なのに16桁だとVBAが効かない。
20桁の指定にすると一部は式が効く。

2.同じ16桁でもVBAが効く数字と効かない数字がある。

原因がわかりません。よろしくお願いします。

【25132】Re:Lenについて
発言  ichinose  - 05/5/20(金) 18:18 -

引用なし
パスワード
   ▼ユタ さん:
こんばんは。
>CSVのデータから16桁の長い数字だけ短くしたく次のような
>式をつくりました。
>
>Dim myRow1 As Variant
>For myRow1 = Cells(Rows.Count, 7).End(xlUp).Row To 1 Step -1
>If Len(Cells(myRow1, 7)) = 20 Then Cells(myRow1, 7).Value = Right(Cells(myRow1, 7), 11) / 1E+15

'この計算の結果に興味はありますが・・・。
>Next
>
>質問は
>1.Excel関数ではLenでは16桁なのに16桁だとVBAが効かない。
>20桁の指定にすると一部は式が効く。
効く、効かないとは具体的にどういうことですか?
具体例を出して投稿して下さいね!!

「セルA1にXXXXXXXXXXという数字が入っている〜になってしまいます。」
とか

'==================================================
Sub test()
  Dim suuchi As Variant
  Range("a1").NumberFormatLocal = "@"
  Range("a1").Value = "12345678901234567890"
  suuchi = CDec(Range("a1").Value)
  MsgBox suuchi + 1
End Sub
こういうことが可能ならば良いと言うことでしょうか?

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