C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: Excelのソート キー位置がずれる


(過去ログ 110 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■65432 / inTopicNo.1)  Excelのソート キー位置がずれる
  
□投稿者/ OSD (1回)-(2013/02/23(Sat) 14:05:08)

分類:[Microsoft Office 全般] 

VB2008上でExcelをコントロールしております。
下記の様なソースコードでExcelのソートを行いましたが、それぞれのシートでキーになる列が違ってしまいます。
(xlsRangeCountはC列がキーとなるが、xlsRangeTimeはD列がキーとなる)
xlsRangeTimeのキーをB列にすれば同じ結果が得られるのですが、原因が分からないままにするわけにはいきません。
どなたかご教示頂ければ幸いです。

'' ソート
xlsRangeKeyC = xlsSheetCount.Range("C4")
xlsRangeCount = xlsSheetCount.Range(xlsSheetCount.Cells(g_tLocateData.Row, g_tLocateData.Col), xlsSheetCount.Cells(g_tLocateData.Row + Summary(0).No.Length, g_tLocateData.Col + 1 + Summary.Length))

'セル範囲をキー(列単位)に降順の並べ替え
xlsRangeCount.Sort(Key1:=xlsRangeKeyC, _
Order1:=Excel.XlSortOrder.xlDescending, _
Orientation:=Excel.XlSortOrientation.xlSortColumns _
)

xlsRangeKeyT = xlsRangeTime.Range("C4")
xlsRangeTime = xlsSheetTime.Range(xlsSheetTime.Cells(g_tLocateData.Row, g_tLocateData.Col), xlsSheetTime.Cells(g_tLocateData.Row + Summary(0).No.Length, g_tLocateData.Col + 1 + Summary.Length))

'セル範囲をキー(列単位)に降順の並べ替え
xlsRangeTime.Sort(Key1:=xlsRangeKeyT, _
Order1:=Excel.XlSortOrder.xlDescending, _
Orientation:=Excel.XlSortOrientation.xlSortColumns _
)

引用返信 編集キー/
■65437 / inTopicNo.2)  Re[1]: Excelのソート キー位置がずれる
□投稿者/ OSD (3回)-(2013/02/24(Sun) 04:16:31)
No65432 (OSD さん) に返信
> VB2008上でExcelをコントロールしております。
> 下記の様なソースコードでExcelのソートを行いましたが、それぞれのシートでキーになる列が違ってしまいます。
> (xlsRangeCountはC列がキーとなるが、xlsRangeTimeはD列がキーとなる)
> xlsRangeTimeのキーをB列にすれば同じ結果が得られるのですが、原因が分からないままにするわけにはいきません。
> どなたかご教示頂ければ幸いです。
>
> '' ソート
> xlsRangeKeyC = xlsSheetCount.Range("C4")
> xlsRangeCount = xlsSheetCount.Range(xlsSheetCount.Cells(g_tLocateData.Row, g_tLocateData.Col), xlsSheetCount.Cells(g_tLocateData.Row + Summary(0).No.Length, g_tLocateData.Col + 1 + Summary.Length))
>
> 'セル範囲をキー(列単位)に降順の並べ替え
> xlsRangeCount.Sort(Key1:=xlsRangeKeyC, _
> Order1:=Excel.XlSortOrder.xlDescending, _
> Orientation:=Excel.XlSortOrientation.xlSortColumns _
> )
>
> xlsRangeKeyT = xlsRangeTime.Range("C4")
> xlsRangeTime = xlsSheetTime.Range(xlsSheetTime.Cells(g_tLocateData.Row, g_tLocateData.Col), xlsSheetTime.Cells(g_tLocateData.Row + Summary(0).No.Length, g_tLocateData.Col + 1 + Summary.Length))
>
> 'セル範囲をキー(列単位)に降順の並べ替え
> xlsRangeTime.Sort(Key1:=xlsRangeKeyT, _
> Order1:=Excel.XlSortOrder.xlDescending, _
> Orientation:=Excel.XlSortOrientation.xlSortColumns _
> )
>

くだらないケアレスミスをしておりました。
xlsRangeKeyT = xlsRangeTime.Range("C4")
  ↓
xlsRangeKeyT = xlsSheetTime.Range("C4")

くだらなすぎてご指摘も頂けなかったようで、失礼しました。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -