Excel VBA質問箱 IV

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

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


40858 / 76732 ←次へ | 前へ→

【40963】Re:配列内での計算
回答  [名前なし]  - 06/7/27(木) 0:19 -

引用なし
パスワード
   こんな感じでしょうか。

Sub Macro1()

Const InputSheet = "Sheet1" '出力先シート名
Const OutputSheet = "Sheet2" '出力先シート名
Const ColCnt = 3       '処理する列数

Dim V As Variant       '配列保管用
Dim i As Long, j As Long   'ループカウンタ・その他
Dim MaxRow As Long      '最大行数

  With Worksheets(InputSheet)
    '-- 各列の最終行で、最大のものを取得 --
    For i = 1 To ColCnt
      j = .Cells(Rows.Count, i).End(xlUp).Row
      MaxRow = IIf(MaxRow < j, j, MaxRow)
    Next
  
    '-- セルの値を配列に取得 --
    V = .Range("A1").Resize(MaxRow, ColCnt).Value
  End With
  
  '-- 配列内の数値を四捨五入 --
  For i = 1 To ColCnt
    For j = 1 To MaxRow
      If IsNumeric(V(j, i)) Then V(j, i) = Round(V(j, i))
    Next
  Next

  '-- 配列の値をセルに転記 --
  Worksheets(OutputSheet).Range("A1").Resize(MaxRow, ColCnt).Value = V

End Sub
0 hits

【40961】配列内での計算 Fire 06/7/26(水) 22:15 質問
【40963】Re:配列内での計算 [名前なし] 06/7/27(木) 0:19 回答
【40966】Re:配列内での計算 だるま 06/7/27(木) 8:59 回答
【41018】Re:配列内での計算 Fire 06/7/27(木) 18:56 お礼

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