[[20230919104316]] 『Columnsの使い方』(パープル) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『Columnsの使い方』(パープル)

VBAで下記の表から「う」の列を求めるにはどのようにしたら良いですか?

あ あ あ
あ あ え
あ う あ
あ あ あ

< 使用 Excel:Excel2019、使用 OS:Windows10 >


各列に「う」が存在するか検索し、存在した列が求めているものです。
(tkit) 2023/09/19(火) 11:11:55

ちょっと、何がやりたいのかわかりませんが。。。

   A  B  C
 1 あ あ あ
 2 あ あ え 
 3 あ う あ
 4 あ あ あ

「う」はB3セルにあります。

このセルの列番号を求めたいのであれば=column(B3)です。

columnsではありません。
(ゆたか) 2023/09/19(火) 11:35:50


 現状の限られた情報の中からだと、
 表と呼ばれるセル範囲からFindメソッドで「う」を検索し、
 返り値のセルオブジェクトのプロパティColumnから取得する。

 列として取得したいのであれば、
 セルオブジェクト.EntireColumnで取得可能。

(tkit) 2023/09/19(火) 13:28:39


 想像をたくましくして適当に書いてみる
 Sub sample()
    Dim aCol As Range
    For Each aCol In Range("表").Columns
       If WorksheetFunction.CountIf(aCol, "う") Then
          Exit For
       End If
    Next
    If Not aCol Is Nothing Then aCol.Select
 End Sub
(´・ω・`) 2023/09/19(火) 14:17:41

激しく勘違いしていたので、お詫びに?2つほどサンプルを作ってみました。
1つ目はForで回して、2つ目はFor eachでColumnsを使ってみました。
1つ目は「う」のある回数だけ、2つ目は「う」のある列数だけ表示します。

 Sub Sample1()

    Dim i As Long
    Dim j As Long

    For i = 1 To 3
        For j = 1 To 4
            If Cells(j, i) = "う" Then
                MsgBox (i & "列目です")
            End If
        Next j
    Next i

 End Sub

 Sub Sample2()

    Dim r As Range

    For Each r In Columns("A:C")
        If WorksheetFunction.CountIf(r, "う") Then
            MsgBox (r.Column & "列目です")
        End If
    Next

 End Sub
(ゆたか) 2023/09/19(火) 15:34:16

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.