- ベストアンサー
エクセルVBAで
いつもお世話になります。 A B C 1 ああ XXX 東京 2 ああ X 大阪 3 いい XXXX 愛知 4 うう XX 福岡 5 いい X 横浜 6 うう 神戸 7 うう XXX 札幌 これを並び替えたいんですが、セルAの『ああ』なら10、『いい』なら5、『うう』なら3、又セルBの『X』一つにつき5を足した数値の小さい順に並び替えたいのですが、VBA上で可能でしょうか? 宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
関連するQ&A
- EXCELのデータベース利用について(VBA)
VBA初心者の者です。 下記の様なEXCELファイルを作りたいのですが、どのようにすれば良いのか まったくわかりません。 ACCESSでの構築が簡単なのかもしれませんが、データ量がそれほど多くないことと 職場にACCESSがないため、可能であればEXCELで構築したいと考えています。 私自身、プログラムの知識がなく、EXCEL VBAのサイトを確認するのですが、いまいち どうすれば良いのかわかりません。 ぜひご教授の程よろしくお願いします。 3つのシートの構成は以下になります。 【入力シート】 A1セルに文字列(A~Z)入力欄 【○○データシート】 A列に A~Z の文字列 B列に 001~100までの数値 C列に 001~100までの数値 D列に 001~100までの数値 E列に 001~100までの数値 例) A列 B列 C列 D列 E列 1 A 001 2 B 001 002 003 004 3 C 003 4 D 002 003 【▽コマンドシート】 A列に 001~100までの一意の数字 B列に 文字列(コマンド) C列に 文字列(コマンド詳細) 例) A列 B列 C列 1 001 xx blank 2 002 xxx△ xxx 3 003 xxxx x○ 4 004 xxxxx xxx 【欲しいVBA】 1、入力シートのA1セルに○○データシートのA列に該当するA~Zの 文字列を入力。 2、○○データシートのB列~F列までの数値を参照 3、2の数値において▽コマンドシートのA列に記載ある番号と紐づけを行い、 ▽コマンドシートのB列、C列に記載がある文字列を入力シートのB列、C列にコピー ※コピー時は▽コマンドシートの書式や体裁情報も含めてコピー。 例としては以下になります。 入力シートの A1セルにDを入力した場合は 入力シート A列 B列 C列 1 D xxx△ xxx 2 xxxx x○ 3 以上、ご教授よろしくお願いします。
- ベストアンサー
- その他(業務ソフトウェア)
- vbaで特定の文字を加算して項目に数値を表示したい
下のようなエクセルがあり、特定の文字ごとに加算してその横のセル数値を入れて表示するマクロを作りたいのですがうまくいきません。 xxxxの数や、その項目数は注文によって数が違うのでうまくいきません 解決策がわかる方いらっしゃいましたらご協力よろしくお願い致します。 ◆注文 xxxxx xxxx xxx xxxx ◆注文 xx xxx xxxx xxxx xx ◆注文 xxx xxxxx xx xxx この表を ◆注文 1 xxxxx 1 xxxx 1 xxx 1 xxxx ◆注文 2 xx 2 xxx 2 xxxx 2 xxxx 2 xx ◆注文 3 xxx 3 xxxxx 3 xx 3 xxx という風にしたいです。どうかよろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- マクロでセル値をAND
xxx3xx3x x2x313x1 2x2132xx sheet1 x2x122xx 1xx22x3x x1x33321 sheet2 xxx1xxxx xxx22xxx xxx333xx sheet3 上記のようなデータがあり、各文字はセル1つずつに入っています。 sheet3はsheet1とsheet2のANDであり、片側がxならばsheet3ではx、 違う数値同士ならばsheet2の値を活かす としています。 これを実現するマクロの例を1つ挙げて頂ければと思います。 よろしくお願いします。
- ベストアンサー
- その他MS Office製品
- エクセルのセルに記述した式をVBAで読込む方法
エクセルのセルに a*x^2+b*x+c という式を埋め込んでおいて (式はa,b,cの数値は定数、xはマクロ側でいろいろな数値を指定されます。) VBAのマクロに ε=a*x^2+b*x+c のように式を埋め込む方法はないでしょうか。 例えば n=.... x=sin(n*3.14/180) ε=a*x^2+b*x+c Range(”D2”).value=ε この中段の行にエクセルのセルの式を呼び出したいのです。 この式はセルにはいろいろな2次式、3次式が任意に組み込まれ、VBAを実行するたびに埋め込まれた式に自動的に記述し直すようにしたいのです。 (数式の結果の数値を入れるのではなくて式を入れたいのです) 可能でしょうか。その場合どのようなコードが考えられるでしょうか。 よろしくお願いします。
- 締切済み
- オフィス系ソフト
- エクセルVBAで
いつもお世話になります。 変数A(1),A(2)・・・A(n)で小さい順にB(1),B(2)・・・B(n)と置き換える事は可能でしょうか? セルにAnをいれて、並び替えをしてからBnにいれる方法は分かるんですが。VBA上で可能でしょうか? 宜しくお願いします。
- ベストアンサー
- Visual Basic
- エクセルVBA作成に関して
VBA作成についてお願いいたします. たとえば各セルに以下のような数値があるとします A B C 1 150 2 2 145 6 3 237 7 4 254 6 5 結果としてC5セルに A1*B1+A2*B2+A3*B3+A4*B4の計算をし表示するVBAを作りたいと思っています. このくらい少ない場合はよいのですが,列が多くなるといちいち計算式を書くのは大変ですし,このあたりをVBAで作れないかと悩んでいます. つまり 例表示すると Range("A1").Value とあった場合("A1")の1を2,3,...と増やしていく(あるいは減らしていく)VBAは作成可能ですか? どうも調べたかぎりでは見あたらないようなので. この表現で質問の意図は伝わったでしょうか? ご存じの方よろしくお願いいたします.
- ベストアンサー
- オフィス系ソフト
- エクセルVBAの記述について
OSはWin98、エクセル2000です。 次の処理をVBAで処理したいのですがうまく作動しま せん。 ご教授願います。 セルA1から下に向かって1から20までランダムに数 値が入ってます。 同じ数値は無く、数値も3行(セルA3)で終わる場合 も有ります。 この場合セルC1から下に向かって順にA1&A2、A 1&A3と記述したいのですが・・・ 例) A1に5、A2に7、A3に15、A4に10でしたら C1に57、C2に515、C3に510、C4に715 C5に710、以下・・・と記述 よろしくお願いします。m(_ _)m
- ベストアンサー
- オフィス系ソフト
- エクセル上のVBA
当方、VBAまるっきり初心者です(触りはじめて3日くらい)。 エクセルはある程度理解しているつもりですが… バージョンはエクセル2000です。 他シートのセルのひとつに入力すれば、 別シートのセルがそれを参照したうえで 値として表示出来るようにならないでしょうか。 今のところ、以下のような状況です。 step01 sheet1のセルA1に任意の数値(整数限定です)を入力。 step02 sheet2のセルA1に、sheet1のセルA1の数値を用いて MOD関数で余りを出す。 step03 sheet2のセルB2に以下のVBAによって step02の余りを値として表示。 Private Sub Worksheet_Change(ByVal Target As Range) Range("b2").Value = Range("a1") End Sub これだとsheet1の数字を変えても、 sheetの切替後sheet2のセルB2に 表示される値が変わってくれません。 最初の入力(step01の入力)をおこなえば sheet2のセルB2まで値が変わってくれるような方法を 教えていただけないでしょうか。 拙い説明で申し訳ありませんが、よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- Excel VBAについて教えて下さい。
VBAについて2点ほど質問があります。 (1)複数セル(例:A2:A40)に入力されている文字列を一括で数値に変換するVBAはありますか? (2)複数セル(例:A2:A40)に日付と時間が入力されていて(例:2019/09/12 16:00)、それを一括で日付と時間それぞれ別々のセルへ表示させるVBAはありますか? 現状、1つのセルしか変換できず複数一度には難しいのでしょうか? お分かりの方いましたら、是非ご教示お願い致します。
- ベストアンサー
- Excel(エクセル)
- Excel VBA の作り方について【初心者】
Excel VBA の作り方について質問させてください。 A1セルに「営業部【山本】」と入力されています。 B1セルに「01:35:24」(タイム)と入力されています。 (1)D1セルに「山本」を抜き出して表示 (2)E1セルに「95」(分数)で表示 (3)A2以降で同じ作業の繰り返し(最終入力列まで) というVBAを作成しております。 Sub macro1() '行数確認 nr = Range("A1048576").End(xlUp).Row For i = 1 To nr '名前抜き出し x = Range("A1").Offset(i - 1) j1 = InStr(x, "【") j2 = InStr(x, "】") Range("D1").Offset(i - 1) = Mid(x, j1 + 1, j2 - j1 - 1) '分表示 x = Range("B1").Offset(i - 1) Range("E1").Offset(i - 1) = Int(x * 24 * 60) Next i End Sub ここまではプログラムが完成しています。 この後、 (4)C列セルに入力されている数値をF列セルにそのまま入力 したい場合には、どの部分にどのようなプログラムを追加すればよいでしょうか? よろしくお願いします。
- ベストアンサー
- Visual Basic
お礼
度々の回答ありがとうございます。 早速試しましたが、G列の『東京』と『愛知』以外がうまく入りません。自分で調整できれば良いんですけど、解読するのに時間がかかりそうです。 出来るかどうかも不明。。。 今一度お助けを。
補足
分かりました。 >col_A(ii) = col_A(kk) col_B(ii) = col_B(kk) col_C(ii) = col_B(kk)←col_C(kk) ですね。 解決しました。 ありがとうございました。