Excel VBA質問箱 IV

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

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


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

【27780】文字列の取得 イッコウ 05/8/19(金) 11:06 質問[未読]
【27781】Re:文字列の取得 イッコウ 05/8/19(金) 11:10 発言[未読]
【27782】Re:文字列の取得 ichinose 05/8/19(金) 11:14 発言[未読]
【27783】Re:文字列の取得 イッコウ 05/8/19(金) 11:40 お礼[未読]
【27807】Re:文字列の取得 ichinose 05/8/19(金) 21:17 発言[未読]

【27780】文字列の取得
質問  イッコウ  - 05/8/19(金) 11:06 -

引用なし
パスワード
   はじめまして、皆様よろしくお願いします。

文字列の取得につい質問があります。
現在、Cellsを使用しWorkSheetからデータを取得しています。
ところが、実数値を取得した場合、1.0は1になってしまいます。
どのように取得すればよいのでしょうか?

<ソース>
*sht は WorkSheetです。
*Data,strはString形です。

Do
 If (sht.Cells(1, xcell) = "") Then
  Exit Do
 ElseIf (xcell = 1) Then
  Data = Trim(sht.Cells(ycell, xcell))
 Else
  str = Trim(sht.Cells(ycell, xcell))
  Data = Data & Chr(&HD) & str
 End If
 If (ycell = 1) Then
  iCellItem = xcell
 End If
 xcell = xcell + 1
Loop

【27781】Re:文字列の取得
発言  イッコウ  - 05/8/19(金) 11:10 -

引用なし
パスワード
   今までの調査結果です。
1. セルの書式設定の表示形式の分類は何もしていません。
  分類を文字列にした場合は正常に取得できました。
2. データが3.3,1.5等の場合は正常に取得できます。

【27782】Re:文字列の取得
発言  ichinose  - 05/8/19(金) 11:14 -

引用なし
パスワード
   ▼イッコウ さん:
こんにちは。

>はじめまして、皆様よろしくお願いします。
>
>文字列の取得につい質問があります。
>現在、Cellsを使用しWorkSheetからデータを取得しています。
>ところが、実数値を取得した場合、1.0は1になってしまいます。
>どのように取得すればよいのでしょうか?
>
><ソース>
>*sht は WorkSheetです。
>*Data,strはString形です。
>
>Do
> If (sht.Cells(1, xcell) = "") Then
>  Exit Do
> ElseIf (xcell = 1) Then
>  Data = Trim(sht.Cells(ycell, xcell))
> Else
>  str = Trim(sht.Cells(ycell, xcell))
>  Data = Data & Chr(&HD) & str
> End If
> If (ycell = 1) Then
>  iCellItem = xcell
> End If
> xcell = xcell + 1
>Loop

まず、プロパティはきちんと記述してくださいネ!!
しなかったために経験しなくてもよいエラーに遭遇することが
ありますよ!!

セルには、「1.0」と表示されているのであれば、

sht.Cells(ycell, xcell).text

で確認してください。

【27783】Re:文字列の取得
お礼  イッコウ  - 05/8/19(金) 11:40 -

引用なし
パスワード
   ▼ichinose さん:
>
>まず、プロパティはきちんと記述してくださいネ!!
>しなかったために経験しなくてもよいエラーに遭遇することが
>ありますよ!!
>
>セルには、「1.0」と表示されているのであれば、
>
>sht.Cells(ycell, xcell).text
>
>で確認してください。

レスありがとうございます。
.textで値の取得が出来ました。

あと、「プロパティはきちんと記述してくださいネ!!」
プロパティとは何を指すのでしょうか?
馬鹿な質問ですみません。

【27807】Re:文字列の取得
発言  ichinose  - 05/8/19(金) 21:17 -

引用なし
パスワード
   ▼イッコウ さん:
こんばんは。
>あと、「プロパティはきちんと記述してくださいネ!!」
>プロパティとは何を指すのでしょうか?
例えば、
 If (sht.Cells(1, xcell) = "") Then

このステートメントですが、
sht.Cells(1, xcell) = ""は、

sht.Cells(1, xcell).Value=""

というValueプロパティ(セルの値)が省略されたコードです。

間違いではないのですが、残念ながら省略した場合としない場合で
コードの動作が違う場合があるようです。

それとプロパティが明記されている方がコードがわかりやすい
等の理由でこのサイトではプロパティを明記することに賛成される
方が多いようです。

勿論、私もその一人です。

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