Excel VBA質問箱 IV

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

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


47402 / 76732 ←次へ | 前へ→

【34287】Re:空欄に数字を補完するコードを単純に...
回答  小僧  - 06/1/30(月) 18:19 -

引用なし
パスワード
   ▼ちくたく さん:
こんばんは、
稚拙なコードですが、アップしてみます。
Option Explicit

Type tmpType
  Value As Double
  Row As Long
End Type

Sub 配列で処理()
Dim i As Long
Dim j As Long
Dim k As Long
Dim Sabun As Double
Dim varData As Variant
Dim Point As tmpType

'選択範囲を配列で受ける
  varData = Selection.Value

' j は列単位のループ
  For j = LBound(varData, 2) To UBound(varData, 2)
' i は行単位のループ
    For i = LBound(varData, 1) To UBound(varData, 1)
      If varData(i, j) <> "" Then
'ポイントの行が初期化されていなかった場合、差分を取る
        If Point.Row <> 0 Then
          Sabun = (varData(i, j) - Point.Value) / (i - Point.Row)
'空白行に補完
          For k = Point.Row + 1 To i - 1
            varData(k, j) = Point.Value + Sabun * (k - Point.Row)
          Next
        End If
'セルに入っている値と行をポイントにする
        Point.Value = varData(i, j)
        Point.Row = i
      End If
    Next i
'右列にポイント移動…行を初期化
      Point.Row = 0
  Next j

'配列の値をセルに戻す  
  Selection.Value = varData
End Sub

Type ステートメントを使って処理を行ってみました。
1 hits

【34272】空欄に数字を補完するコードを単純に書き換えたい ちくたく 06/1/30(月) 10:49 質問
【34275】Re:空欄に数字を補完するコードを単純に書... ちくたく 06/1/30(月) 12:32 発言
【34281】Re:空欄に数字を補完するコードを単純に... 小僧 06/1/30(月) 16:06 発言
【34285】Re:空欄に数字を補完するコードを単純に... ちくたく 06/1/30(月) 16:51 質問
【34287】Re:空欄に数字を補完するコードを単純に... 小僧 06/1/30(月) 18:19 回答
【34288】Re:空欄に数字を補完するコードを単純に... ちくたく 06/1/30(月) 18:39 お礼
【34306】Re:空欄に数字を補完するコードを単純に... 小僧 06/1/31(火) 0:23 回答
【34311】Re:空欄に数字を補完するコードを単純に... ちくたく 06/1/31(火) 9:10 お礼
【34307】Re:空欄に数字を補完するコードを単純に書... ichinose 06/1/31(火) 7:01 発言
【34312】Re:空欄に数字を補完するコードを単純に書... ちくたく 06/1/31(火) 9:14 お礼
【34476】Re:空欄に数字を補完するコードを単純に書... ちくたく 06/2/3(金) 13:12 発言
【34337】Re:空欄に数字を補完するコードを単純に書... [名前なし] 06/1/31(火) 21:48 発言
【34478】Re:空欄に数字を補完するコードを単純に書... ちくたく 06/2/3(金) 13:17 お礼

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