- ベストアンサー
エクセルVBAにて アルファベットを数字に変換
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
一例です。 Sub Retuno() X = InputBox("列を示す文字列を入力してください。") Y = Range(X & "1").Column Z = MsgBox(X & "は" & Y & "です", vbOKOnly) End Sub
その他の回答 (2)
こんばんは。 >入力がJだったら10を出力 ということは、入力したセルの列番号を数値で出力したいと言うことですね。 シートモジュールに Private Sub Worksheet_Change(ByVal Target As Range) MsgBox Target.Column End Sub としみてください。
お礼
回答ありがとうございます。 >ということは、入力したセルの列番号を数値で出力したいと言うことですね。 そうではなくて、他の方の回答が質問の意図です。
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 現在のところは、二桁までです。 ユーザー定義関数を作りました。"ZZ" まで、出力可能です。 大文字・小文字は可能ですが、全角は受けないようにしてあります。 Sub Test() Dim d As Integer d = Alpha2Num("AB") MsgBox CStr(d) End Sub Function Alpha2Num(ByVal arg As String) Dim i As Integer Dim j As Integer arg = StrConv(arg, vbLowerCase) If arg Like "[a-z]*" Then If Len(arg) = 2 Then i = (Asc(Mid(arg, 2, 1)) - 96) j = (Asc(Mid(arg, 1, 1)) - 96) * 26 Else i = (Asc(arg) - 96) End If End If Alpha2Num = j + i End Function
お礼
回答ありがとうございます。 このような答えを期待して質問しましたが、エクセルを使うなら NO1の方の回答がシンプルで良いかも。
関連するQ&A
- エクセルの外枠のアルファベットを印刷 もしくは入力したいのですが
エクセルの外枠の 列のアルファベットごと印刷したいのですが可能でしょうか?? もしくは、一行目のところに、列のアルファベットが abc...aa,ab,ac と入力できればよいのですが。。横に長くデータをいれているので(たてにも長く入っているのですが)手動は少し たいへんなのです・・・ よろしくお願いします。 (当方、マクロ、vbaは???です)
- ベストアンサー
- オフィス系ソフト
- エクセルVBAでセル選択
エクセル2000でリストを作成し、VBAで編集しようとしています。 A列に入力されているコードの先頭に「’」をつけて文字列とするための関数をB2のセルからA列のデータが入力されている最後のセルの隣までコピーしたいと思っています。 A列の最終セルを取得するVBAは分かったのですが、その値をB列の選択範囲として使用する方法がわかりません。 エクセルVBAは全くの初心者です。 どなたか教えてください!
- ベストアンサー
- オフィス系ソフト
- エクセルのセルにVBAで( )付の式
エクセルのVBAで作業していますが、1つの列の全ての行を ( )付けとしたいのですが、式をお教え下さい。 例えばD列に数値AB123と入れたら(AB123)となるようにしたいのです。 現在のVBA式にはD列のカラミはありません。 単純に追加すればいいと思いますので・・・・ よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- EXCEL マクロ・VBA 自動で連番を振る
EXCELのマクロ・VBAについて質問です。 例えば、B列にデータを入力すると、入力した行まで自動的にA列に連番が入力されるようにしたいのですが、どういった方法があるでしょうか。 マクロやVBAについてはこれから勉強をしようと思っている素人ですので、コードとその解説をいただけると助かります。
- 締切済み
- その他(プログラミング・開発)
- Excel VBA 実行しない
お世話になります。 ExcelのVBAで列に上書き足し算を入れているシートが、上書きできなくなってしまいました。 コードを表示で確認しましたが、コード自体は入力されています。 元に戻す方法はありますでしょうか。 毎日使ってるのでとても困ってます。 お分かりになる方、至急教えて欲しいです。 よろしくお願いします。
- 締切済み
- Excel(エクセル)
- Excel VBAで教えてください。
Excel VBAで教えてください。 テキストデータをExcelで読み込んだ後、Sheet1に以下のデータが入っており、 A列 B列 C列 氏名 開始日(yyyy/mm/dd) 終了(yyyy/mm/dd) テキストボックスに開始日(yyyy/mm/dd)、終了日(yyyy/mm/dd)、を入力し、入力した開始日から終了日のデータ検索し、A列からのデータをコピーし、Sheet2に貼り付けしたい。 テキストデータをExcelで読み込むコードはできたのですが、その後の処理ができずに困っています。 ユーザーフォームに入力するコードも教えてください。
- ベストアンサー
- SE・インフラ・Webエンジニア
- excel vbaの関数の使い方
excel VBAでsumproduct関数を使いたいがでますのですがどうしても実行できません 何が原因でしょうか、どなたか教えてください。 ------------------------------------------------- 下記コードは実行できます。 Worksheets("集計").Range("j4").Value = WorksheetFunction.Sum(Worksheets("日常").Range("h4:h13")) 下記コードは型が違うとのコメントがでます。 Worksheets("集計").Range("j4").Value = WorksheetFunction.SumProduct((Worksheets("日常").Range("c4:c13") >= j2) * Worksheets("日常").Range("c4:c13") <= k2) * Worksheets("日常").Range("d4:d13") = l2 * Worksheets("日常").Range("f4:f13") = m2 * Worksheets("日常").Range("h4:h13") --------------------------------------------------------------------- ワークシートは、日常、集計、の二つがあります。 「日常」には、C4:H13にデータがあります。 c列に年月日、d列にコード番号、e列に購入箇所、f列にコード番号、g列に商品、h列に金額 が入力されています。 「集計」には、j2に開始日、k2に終了日、l2にd列のコード番号、m2にf列のコード番号、 が入力されています。 環境は、windows10 使用しています。 ----------------------------------------------------------- 以上の状況ですがvba でsumproduct関数を使いたいのですが実「実行」できません,たかどなたか教えて頂けませんか。
- ベストアンサー
- その他(趣味・娯楽・エンターテイメント)
- エクセルで数字とアルファベットと文字列を分割する方法
こんばんは。 エクセルのセルで数字とアルファベットの文字列を分割する方法を教えて下さい。 100AB3.4C → "100" "AB" "3.4" "C" 間にスペースやカンマなど無く、文字数は異なります。 数字は小数点がある場合と無い場合があります。(上記の "100" "3.4" のように) 同じ列に同様のデータが数件~数千件あり、まとめて分割したいです。 関数もしくはマクロ(VBA)で可能であれば教えて下さい。 最近マクロの勉強を初めたのですが、方法が思いつきません。。。 宜しくお願いします。
- ベストアンサー
- Visual Basic
お礼
回答ありがとうございます。 エクセルVBAを使うならこの方法が一番シンプルで 良いですね。