私はVBAのこのビットを持っている。ここ VBAは、Windows 2007マシンで正常に動作しますが、Windowsではなく10
Sub populateChartData()
Dim i As Integer
Dim j As Integer
Dim finalRowSheet2 As Integer
Dim k As Integer
Dim n As Integer
Dim Sheet2 As Worksheet
Dim price As Double
Dim cnt As Integer
With Worksheets("Data")
Set Sheet2 = Worksheets("Sheet2")
finalRowSheet2 = Sheet2.UsedRange.Rows.Count
For i = 2 To 5
For j = 2 To 5
price = 0
cnt = 0
For k = 2 To finalRowSheet2
Sheet2.Cells(i, 5) = "'" & Sheet2.Cells(i, 5)
If .Cells(i, 1) = CInt(Right(Sheet2.Cells(k, 5), 4)) And _
.Cells(1, j) = Sheet2.Cells(k, 4) Then
price = price + Sheet2.Cells(k, 3) 'Col 7 if weighting is used
cnt = cnt + 1
End If
Next k
If cnt = 0 Then
.Cells(i, j) = 0
Else
.Cells(i, j) = price/cnt
End If
Next j
Next i
End With
End Sub
が
address1 3.19 mi $1,250 studio 5/1/2017
address2 3.38 mi $950 studio 7/1/2017
address3 3.48 mi $725 studio 3/1/2017
address4 3.51 mi $850 studio 7/1/2017
それは上意図した作品として、データのサンプルですWindows 2007マシン。それは、この行にType Mismatch
エラーを生成のWindows 10マシン
If .Cells(i, 1) = CInt(Right(Sheet2.Cells(k, 5), 4)) And _
.Cells(1, j) = Sheet2.Cells(k, 4) Then
に使用された場合でも、私は英語に言語を設定するControl Panel >> Clock, Language and Region >> Region and Language
に入って試してみましたが、それはすでに英語に設定しました。私はこれが問題であるかもしれないと読んだ。また、変数の種類を変更しようと試みましたが、これまでWindows 10マシンではエラーが引き続き発生しています。私は、このエラーがなくても、このコードを両方のWindowsオペレーティングシステムで動作させたいと思います。両方のバージョンで
両方のバージョンの 'thausands separator'と'小数separator'を確認してください。これは、コントロールパネルの[地域のオプション]にあります。 – Vityata
私は見て回ります。 –