こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

全部の列でSelection.NumberFormatLocal = "0.00"になってしまう

以前こちらでお世話になった者です。
教えていただいたコードを応用したのですが、うまくいきません。
以下のようにすると、最後にすべての列の数値が0.00の形になってしまいます。
どこが悪いのか教えてください。よろしくお願いします。

Sub data_torikomi9_1()

Dim wb As Workbook
Dim Fn As String
Dim myPath As String
Dim dbBkSh As Worksheet
Dim i As Long

For Each wb In Workbooks

If wb.Name <> ThisWorkbook.Name And _
InStr(1, wb.FullName, "form\", 1) > 0 Then 'formを検索
wb.Close '閉じる
End If
Next wb

myPath = ThisWorkbook.Path & "\"
Set dbBkSh = ThisWorkbook.Worksheets("様式9-1")

With dbBkSh.UsedRange
If .Cells(.Cells.Count).Row > 10 Then
.Range("A11", .Cells(.Cells.Count)).Clear
End If
End With

Fn = Dir(myPath & "form\*.xls")
i = 1
'画面のちらつきを抑える
Application.ScreenUpdating = False
Do Until Fn = ""
If Fn <> ThisWorkbook.Name Then
With Workbooks.Open(myPath & "form\" & Fn, , True)
'会社名と企業コード
dbBkSh.Range("E2").Value = .Worksheets("inputform").Range("C2").Value
dbBkSh.Range("B2").Value = .Worksheets("inputform").Range("M2").Value
'A11 - 1
dbBkSh.Range("A10").Offset(i, 0).Value = i
'B11 - 氏名
dbBkSh.Range("A10").Offset(i, 1).Value = .Worksheets("inputform").Range("C7").Value
'C11 - 番号
dbBkSh.Range("A10").Offset(i, 2).Value = .Worksheets("inputform").Range("H29").Value
'D11 - ポイント
dbBkSh.Range("A10").Offset(i, 3).Value = .Worksheets("inputform").Range("H32").Value

.Close False
i = i + 1
End With

End If
Fn = Dir()
Loop

Columns("B:C").Select
Selection.HorizontalAlignment = xlLeft
Columns("C:C").Select
Selection.NumberFormatLocal = "00000"
Columns("A:A").Select
Selection.HorizontalAlignment = xlCenter
Columns("D:D").Select
Selection.NumberFormatLocal = "0.00"
Range("A6").Select
Application.ScreenUpdating = True
Set dbBkSh = Nothing

End Sub

投稿日時 - 2009-08-06 19:47:48

QNo.5187278

困ってます

質問者が選んだベストアンサー

http://questionbox.jp.msn.com/qa5182108.html
これと同じということはありませんか?一応ご確認ください。

参考URL:http://questionbox.jp.msn.com/qa5182108.html

投稿日時 - 2009-08-06 21:03:37

補足

原因がわかりました。
それらの列の上に、セルを結合した場所があるのがいけないようで、その行を取ったら上手く動作しました。
どうもありがとうございました。

投稿日時 - 2009-08-07 08:35:46

お礼

ありがとうございます。チェックは入っていませんでした。

Columns("D:D").Select
Selection.NumberFormatLocal = "0.00"
Columns("C:C").Select
Selection.NumberFormatLocal = "00000"

このように順番を変えると、全ての列が「00000」表示になってしまうんです。
あとから書かれた設定に全てがなる、という感じです。

投稿日時 - 2009-08-07 08:32:56

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問