私はこのようなExcelシートを持っています。最初の行のセル名からExcelの列文字を確認してください
ヘッダ名が最初の行に見出されます。私は最初の行にセル名が与えられている列番号を返すVBA関数を持っていると思います。たとえば、getColumnNumber( "B Symbol")はB
を返します。 getColumnNumber( "C Symbol")はC
を返します。
私はExcel 2016を使用しています。
私はこのようなExcelシートを持っています。最初の行のセル名からExcelの列文字を確認してください
ヘッダ名が最初の行に見出されます。私は最初の行にセル名が与えられている列番号を返すVBA関数を持っていると思います。たとえば、getColumnNumber( "B Symbol")はB
を返します。 getColumnNumber( "C Symbol")はC
を返します。
私はExcel 2016を使用しています。
テキストを見つけて読み込みます。
With Worksheets(1).Range("a1:z1") '
Set c = .Find("whatever you need to find", lookin:=xlValues)
If Not c Is Nothing Then
firstAddress = split(c.Address,"$")(0)
msgbox firstAddress
End If
End With
https://msdn.microsoft.com/en-us/vba/excel-vba/articles/range-find-method-excel
回答ありがとうございます。 Upvoted。最初の行のテキストだけを探したい場合はどうすればよいですか?おっとっと。私はあなたのコードを慎重に読んで、私が望むことをします。 – user1315789
https://msdn.microsoft.com/en-us/vba/excel-vba/articles/worksheet-rows-property-excel 'ワークシート(1).Rows(1)' Google検索。すべてがそこにあります:) – teddy2
teddy2、あなたの答えに必要なわずかな変更。 'firstAddress = split(c.Address、" $ ")(0)'は 'firstAddress = split(c.Address、" $ ")(1)'でなければなりません。それ以外の場合、あなたの答えは完璧です。とにかく、あなたの答えを正しいものとしてマークしました。必要な変更を行ってください。ありがとうございました。 – user1315789
あなたはこのためにVBAを必要としません。次の式も同様に動作し、VBAは本質的に同じ方法を使用しています。
=SUBSTITUTE(ADDRESS(1, MATCH("C Symbol", 1:1, 0), 4), 1, TEXT(,))
これは私自身の質問に対する答えです。これはteddysから修正されました。彼の答えには若干の誤りがあります。
With Worksheets(1).Range("a1:z1") '
Set c = .Find("whatever you need to find", lookin:=xlValues)
If Not c Is Nothing Then
firstAddress = split(c.Address,"$")(1) 'should be 1, not 0
msgbox firstAddress
End If
End With
列番号または列文字が必要ですか?あなたの投稿は列番号を示していますが、あなたの例ではBを取得したいので、どちらを使いますか? –
カラム文字。申し訳ありませんが、私の質問に間違った単語の選択。 – user1315789