Excel VBA質問箱 IV

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

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


76530 / 76738 ←次へ | 前へ→

【4629】Re:お願い致します。
回答  ポンタ  - 03/3/30(日) 10:21 -

引用なし
パスワード
   これでどうでしょう?

Sub test()
  Dim i As Integer, j As Long, k As Integer
  Dim MyRange As Range, MyFind As Range
  Application.ScreenUpdating = False
  Call Rows(3).Insert(xlShiftDown)
  Set MyRange = Range("C1", Range("IV1").End(xlToLeft)).Offset(2, 0)
  MyRange.FormulaR1C1 = _
    "=IF(OR(R[-1]C[0]=""×"",R[-1]C[0]=""△""),"""",MAX(R[0]C2:R[0]C[-1])+1)"
  k = 3
  For i = 2 To Range("IV1").End(xlToLeft).Column
    If Cells(2, i).Value = "×" Then
      For j = 4 To Range("A65536").End(xlUp).Row
        Cells(j, i).Value = ""
      Next
    Else
      Cells(3, i).Value = k
      For j = 4 To Range("A65536").End(xlUp).Row
        Set MyFind = MyRange.Find(j, , xlValues, xlWhole, , xlPrevious)
        If Not MyFind Is Nothing Then
          Cells(j, i).Value = MyFind.Offset(-2, 0)
        End If
      Next
    End If
  Next
  Call Rows(3).Delete(xlShiftUp)
  Application.ScreenUpdating = True
End Sub

3 hits

【4554】お願い致します。 田中 03/3/26(水) 16:02 質問
【4568】Re:お願い致します。 ポンタ 03/3/27(木) 9:04 回答
【4625】Re:お願い致します。 田中 03/3/29(土) 12:13 お礼
【4629】Re:お願い致します。 ポンタ 03/3/30(日) 10:21 回答

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