Excel VBA質問箱 IV

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

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


9202 / 13644 ツリー ←次へ | 前へ→

【28774】該当列は何列目を求めたいです けんのすけ 05/9/14(水) 16:03 質問[未読]
【28776】Re:該当列は何列目を求めたいです ichinose 05/9/14(水) 16:26 発言[未読]
【28777】Re:該当列は何列目を求めたいです けんのすけ 05/9/14(水) 16:40 お礼[未読]
【28784】数字から列(英文字)に変更するロジックに... けんのすけ 05/9/14(水) 18:09 質問[未読]
【28787】Re:数字から列(英文字)に変更するロジッ... ichinose 05/9/14(水) 18:32 発言[未読]
【28790】Re:数字から列(英文字)に変更するロジッ... けんのすけ 05/9/14(水) 19:03 お礼[未読]

【28774】該当列は何列目を求めたいです
質問  けんのすけ  - 05/9/14(水) 16:03 -

引用なし
パスワード
   こんにちは。けんのすけと申します。

A列だったら1列目。
B列だったら2列目。
C列だったら3列目。
  :
  :
AA列だったら27列目。

のように各列が何列目なのかを求めたいのですが、
ロジックが分かりません。
ご教授願います。

【28776】Re:該当列は何列目を求めたいです
発言  ichinose  - 05/9/14(水) 16:26 -

引用なし
パスワード
   ▼けんのすけ さん:
こんにちは。

>こんにちは。けんのすけと申します。
>
>A列だったら1列目。
>B列だったら2列目。
>C列だったら3列目。
>  :
>  :
>AA列だったら27列目。
>
>のように各列が何列目なのかを求めたいのですが、
>ロジックが分かりません。
>ご教授願います。
標準モジュールに
'======================================================
Sub test()
  Dim retu As String
  retu = "bb" '←ここに a とか Dとか入れて試してみてください
  MsgBox IIf(IsError(列を数字(retu)), "エラー", 列を数字(retu))
End Sub
'===============================================================
Function 列を数字(Col As String)
  On Error Resume Next
  列を数字 = Application.Columns(Col).Column
  If Err.Number <> 0 Then
    列を数字 = CVErr(Err.Number)
    End If
  On Error GoTo 0
End Function

確認してみてください

【28777】Re:該当列は何列目を求めたいです
お礼  けんのすけ  - 05/9/14(水) 16:40 -

引用なし
パスワード
   ▼ichinose さん:

>標準モジュールに
>'======================================================
>Sub test()
>  Dim retu As String
>  retu = "bb" '←ここに a とか Dとか入れて試してみてください
>  MsgBox IIf(IsError(列を数字(retu)), "エラー", 列を数字(retu))
>End Sub
>'===============================================================
>Function 列を数字(Col As String)
>  On Error Resume Next
>  列を数字 = Application.Columns(Col).Column
>  If Err.Number <> 0 Then
>    列を数字 = CVErr(Err.Number)
>    End If
>  On Error GoTo 0
>End Function
>
>確認してみてください


確認いたしました。
求めたい解答が得られました。
ありがとうございました。
また、何か質問があったときは、
よろしくお願い致します。

【28784】数字から列(英文字)に変更するロジック...
質問  けんのすけ  - 05/9/14(水) 18:09 -

引用なし
パスワード
   >▼ichinose さん:

度々、すみません。
けんのすけです。

先程、列を数字に変換するロジックを教えていただいたのですが、
数字を列にするロジックについてもご教授願えないでしょうか?

1の場合A
2の場合B
3の場合C
 :
27の場合AA

よろしくお願い致します。

【28787】Re:数字から列(英文字)に変更するロジ...
発言  ichinose  - 05/9/14(水) 18:32 -

引用なし
パスワード
   >度々、すみません。
>けんのすけです。
>
>先程、列を数字に変換するロジックを教えていただいたのですが、
>数字を列にするロジックについてもご教授願えないでしょうか?
>
>1の場合A
>2の場合B
>3の場合C
> :
>27の場合AA
>
>よろしくお願い致します。
'======================================
Sub test()
  Dim retu_alpha As Variant
  Dim retu_suuji As Variant
  retu_alpha = "aa" '←ここに a とか Dとか入れて試してみてください
  retu_suuji = 列を数字(retu_alpha)
  MsgBox retu_alpha & "は、 " & retu_suuji
  MsgBox retu_suuji & "は、" & 列を数字(retu_suuji, True)
End Sub
'===============================================================
Function 列を数字(Col As Variant, Optional reverse As Boolean = False) As Variant
  On Error Resume Next
  If reverse = False Then
    列を数字 = Application.Columns(Col).Column
  Else
    列を数字 = Split(Application.Columns(Col).Address(False, False), ":")(0)
    End If
  If Err.Number <> 0 Then
    列を数字 = CVErr(Err.Number)
    End If
  On Error GoTo 0
End Function

列を数字と言う名前は もはやおかしいので
代えてください。

【28790】Re:数字から列(英文字)に変更するロジ...
お礼  けんのすけ  - 05/9/14(水) 19:03 -

引用なし
パスワード
   ▼ichinose さん:
けんのすけです。

>'======================================
>Sub test()
>  Dim retu_alpha As Variant
>  Dim retu_suuji As Variant
>  retu_alpha = "aa" '←ここに a とか Dとか入れて試してみてください
>  retu_suuji = 列を数字(retu_alpha)
>  MsgBox retu_alpha & "は、 " & retu_suuji
>  MsgBox retu_suuji & "は、" & 列を数字(retu_suuji, True)
>End Sub
>'===============================================================
>Function 列を数字(Col As Variant, Optional reverse As Boolean = False) As Variant
>  On Error Resume Next
>  If reverse = False Then
>    列を数字 = Application.Columns(Col).Column
>  Else
>    列を数字 = Split(Application.Columns(Col).Address(False, False), ":")(0)
>    End If
>  If Err.Number <> 0 Then
>    列を数字 = CVErr(Err.Number)
>    End If
>  On Error GoTo 0
>End Function
>
>列を数字と言う名前は もはやおかしいので
>代えてください。


数字から列、列から数字の変換どちらも
確認いたしました。
早急な対応、ありがとうございました。

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