- 締切済み
VBA教えてください。初心者です。
- みんなの回答 (5)
- 専門家の回答
関連するQ&A
- VBA教えてください。初心者です。続きです。
前回の質問No.9231449、補足で新しい画像を添付します。 ご覧いただけるとおわかりだと思いますが、ランダムに旅行行程がならんでいるので、それを順番通りに並び替えたいです。4つのシートにばらばらになっています。添付のシートは一枚目のシートで、B列が順番なのですが2.3.5.6.10.。。と並んでおり、二枚目のシートは3.8、三枚目のシートは1.9というように、複数のシートにちらばって順不同でならんでいるので、新しいシートに順番通りにつなげられるVBAがあれば、教えてください。
- 締切済み
- Excel(エクセル)
- VBA 範囲指定してコピー&ペーストしたい
WindowsXP SP2 Office2003 を使っています。 ExcelVBAで、 シート「Sheet1」のセル(B9:B40)を範囲選択してコピーし、 シート「Sheet2」のセル(A2:A33)に貼り付けをしたいのです。 行数は毎月増えていきます。 例えば、1月が9から40でしたら、2月は41から70、3月は71から102・・・ B列だけだったら、Range("B" & tateA & " :B" & tateB).Select で記述できますが、 列は、7個ずつ増えた列数の情報を取得したいのです。 Sheet1では、B列から始まり7個ずつ列数が増え、I列(I9:I40)、P列(P9:P40)、W列(W9:W40)・・・の値を Sheet2のB列、C列、D列に値ベースで貼り付けするマクロを考えています。 (Sheet2の列数は1個ずつ増えます。) ざっくりになりますが表のイメージとしては、 Sheet1にはカテゴリ毎に複数の項目があり、 Sheet2にはSheet1のカテゴリ毎の合計値だけを一覧にし、見やすく表示させたいのです。 1回の処理では1ヶ月分の処理を行うため、行情報は9から40で固定なのですが、 列番号は一定の数増えたものを変数にしたいのですが、表示の仕方が分かりません。 ようは『Range("B" & tateA & " :B" & tateB).Select』 の列表示のBも変数にして、 その変数を7個ずつ増やして処理をしたいのです。 説明がうまく出来なくて申し訳ないのですが、 列と行を変数にした表示の仕方を分かる方がいましたら、教えてください。 よろしくお願いします。
- ベストアンサー
- Windows XP
- エクセルの表引き
こんにちは いつもお世話になっています。 Sheet1に以下の表があります。 すみません、表示がうまくいかず、A列には文字列、B列には数字が入ります。 A列に数字があるように表示されていましたらB列に表示されているものとしてみてください。 Sheet1 A B 和歌山 2 愛知 3 東京 1 大阪 2 栃木 1 石川 3 A列のデータに重複はなく、B列のデータには重複があります。 B列の数字を検索値として振り分けるような形でA列の値を表引きしたいです。 表引き先は Sheet2のB列の複数セルに1が入力済みの状態。 Sheet3のB列の複数セルに2が入力済みの状態。 Sheet4のB列の複数セルに3が入力済みの状態。 例えば Sheet2 A B 1 1 1 1 1 Sheet3 A B 2 2 2 2 2 Sheet4 A B 3 3 3 3 3 以上の各シートが以下のようになるようにしたいです。 Sheet2 A B 東京 1 栃木 1 1 1 1 Sheet3 A B 和歌山 2 大阪 2 2 2 2 Sheet4 A B 愛知 3 石川 3 3 3 3 Sheet2-4のA列に各B列のデータに一致する値をSheet1から表引きしたいです。例えばSheet2に関して、東京、栃木と出てしまったら後のA列は空欄になるようにしたいです。A列数字が表示されていたらB列にあるものとしてください。 フィルタとかでの手作業でなく、何とか関数で持ってこられないでしょうか。 作業列とか必要でしたら教えてください。 わかりにくい表現ですみません。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- VBAについて教えてください。
下記の手順でVBAを組みたいのですが どのようにすればよいかご教示いただけないでしょうか。 手順 (1)【A様sheet】>E9に入っている数字を<請求書sheet>E11にコピペ。 (2)【A様sheet】>J9に入っている数字を<請求書sheet>E12にコピペ。 (3)【A様sheet】>E3に入っている数字を<請求書sheet>E13にコピペ。 (4)<請求書sheet>E13に―100。 (5)【A様sheet】>A1に入っている文字列を<請求書sheet>C11以下にコピペ。 ※(2)が〈0〉だった場合には何も入力せず、(3)に進む。 ※(4)-100は固定数値です。 ※(5)は数字が入った分だけ繰り返します。 完成系は添付の画像のような結果です。 毎月数100件の処理が発生するためVBAで行いたいと思っています。 どうぞよろしくお願いいたします。
- 締切済み
- Visual Basic
- エクセルVBAのコードの書き方を教えてください
エクセルVBAの初心者です。 下記①-⑲のようなコードを書きたいのですが、どなたかお分かりになる方がいましたら、 ご教示いただけますと幸いです。 ① オートフィルターでシート[list]のA列に"●"がある特定の行だけを以下作業の対象にしたい ② ①で特定した行のE列セルの値を、シート[output]のB9セルにコピペする ③ ①で特定した行のF列セルの値を、シート[output]のB12セルにコピペする ④ ①で特定した行のG列セルの値を、シート[output]のB15セルにコピペする ⑤ ①で特定した行のH列セルの値を、シート[output]のB18セルにコピペする ⑥ ①で特定した行のI列セルの値を、シート[output]のB21セルにコピペする ⑦ ①で特定した行のJ列セルの値を、シート[output]のB24セルにコピペする ⑧ ①で特定した行のK列セルの値を、シート[output]のB27セルにコピペする ⑨ ①で特定した行のL列セルの値を、シート[output]のB30セルにコピペする ⑩ ①で特定した行のM列セルの値を、シート[output]のB33セルにコピペする ⑪ ①で特定した行のN列セルの値を、シート[output]のB36セルにコピペする ⑫ ①で特定した行のO列セルの値を、シート[output]のB39セルにコピペする ⑬ ①で特定した行のP列セルの値を、シート[output]のB42セルにコピペする ⑭ ①で特定した行のQ列セルの値を、シート[output]のB45セルにコピペする ⑮ ①で特定した行のR列セルの値を、シート[output]のB48セルにコピペする ⑯ ①で特定した行のS列セルの値を、シート[output]のB51セルにコピペする ⑰ ①で特定した行のT列セルの値を、シート[output]のB54セルにコピペする ⑱ ①で特定した行のU列セルの値を、シート[output]のB57セルにコピペする ⑲ シート[output]のB3:B59をテキストファイルを呼び出してコピペする ※このとき、上記②-⑱で記述したB9からB57のセルには改行が含まれる場合が あるため、テキストファイルへのペースト時に""が表示されてしまうが、 もし可能であれば、この""が表示されないようにしたい。
- ベストアンサー
- Visual Basic
- エクセルのVBA初心者です。教えてください。
エクセルVBAの勉強を始めたばかりのものです。無知を自覚しながら質問させていただきます。 宜しくお願い致します。 下のようにエクセルの表があります。 B列の中から例えば5月13日が今日だとして本日の日付のものを探し、見つけたらその隣の列の A列の通番を参照しピックアップしたら、別のシートに作ってある番号ばかりのシート表の中のその通番のセルを塗りつぶすという一連の作業のVBAを作りたいのですがどうしたらいいのでしょうか? 問題の説明不足で意味が通じるかが心配なのですが、本日の日付をB列から見つけてその通番 をピックアップするVBAを教えて頂けたらとおもい、質問しました。 ちなみに日付は5/13の形式で入力しています。 A B 1 5月13日 2 3 4 5 5月13日 6 6
- ベストアンサー
- Visual Basic
- エクセルマクロ超初心者で、悩んでます。
エクセルマクロ超初心者で、悩んでます。 どなたか助けてください。 悩みはこうです↓ データ用のワークシートのセルに数字、文字が入力してあります。 セルの数値同士の引き算で算出した数値を列数として、別の印刷用のワークシートのセル番地(列、行)に、「文字」を表示したいのです。 日本語で書いちゃうと ワークシート「印刷用」の、あるセル番地(ワークシート「データ用」から、列数はJ1‐A1、行数はのB1の数値)に ワークシート「データ表」のC1の文字 を出力せよ です。 Worksheets選択がうまくいきません CellsかRangeを使うのかと思いますが、引き算する表現がわかりません・・ 文例があれば、稚拙ながら活用できるかなと思います。 よろしくお願いします!
- 締切済み
- Visual Basic
- VBAを使ってカウントアップを使いたいのですが。
VBA初心者です。 カウントアップを使いたいのですが、連続している行ではなく、行と行が離れているのです。 そして、文字と数字の混合なのですが設定することは可能でしょうか? 例)○●…数字 △…漢字 ○○△●●●●→後半の数字(●の部分)のみ増やしたい。 そして、この上記の数字はsheet2のB列に3行おきに(B2,5,8・・・)入力されるようにしたい。 そしてその数字をsheet1に下記のような順番で反映させたいのです。 D2→H2→L2→D27→H27→L27→D52→H52→L52・・・・ つまり、D列、H列、L列の順番で25行おきに反映させたいのです。 これが1500行まであります。 説明が下手ですいませんが、よろしくお願いいたします。
- 締切済み
- オフィス系ソフト
- vba初心者です。どなたか教えて下さい。
独学でエクセルVBAを勉強している熟年おじさんです。 色んな参考例を見ながらヒントになる事例を探していますが、中々、似た例が見つからず 困っています。手がかりでも掴めたらと思います。どなたかご指導下さい。 同一BOOK内の2つのシートに同じ行と列に同じ項目内容が入っています。その一枚目のシートの行と列を検索して同じ行と列に該当するデータを、二枚目のシートの同じ行列のセルにコピーするのです。 それだけのことですが、もうひとつの条件は、一枚目のシートには毎日新しいデータが入ってきて その二枚目シートのデータを日単位で色分けしたいのです。従って、二枚目のシートには、日単位で 空いているセルにデータが蓄積されていき、空白セルが埋め尽くされていきます。 この場合、各シートのデータが同一セルにダブルことは絶対にありません。 一枚目シート 二枚目シート 行⇒ A B C D E F G 行⇒ A B C D E F G 列 A1 2 6 1 9 23 7 90 列A1 2 6 1 9 23 7 90 B5 11 8 18 34 67 9 34 B5 11 8 18 34 67 9 34 C9 C9 U9 U9 ・・・翌日データ追加・・・ P5 P5 上記はシートイメージですが、行は品名で列は工程名で、中のデータは測定値です。 2枚のシートには全く同じ品名と工程名が入っていて、毎日、入ってくる一枚目シートには その日のデータしか入ってきません。それを、二枚目のシートの空いたセルにコピーして いきます。データは毎日追加すのですが、同一セルにダブルことはありません。 以上よろしくお願いします。
- 締切済み
- Visual Basic
- VBA色を反映させる
VBA初心者です。 初歩的な質問ですみませんが教えてください。 やりたいこと 仮に前提としてファイルの名前を 試験1 試験2とします。 試験2のファイル 1行目のA列に1、B列に2、C列に3・・・AE列に31と連続する数字があります 試験1のファイル 6行目のK列に1、L列に2、M列に3・・・AO列に31と連続する数字があります。 試験2、1行目の数字のどれかを赤い背景色で塗った場合 試験1のsheet1の6行目に反映させるといった内容です。 ですが、このままだと 試験1の6行目にそのまま反映されるため sheet1の6行目A~AEが赤い背景色がついてしまいます。 それではなく、私がしたいのは A~AEの間の中を反映させるではなく 6行目の中にある数字と試験2の数字が一緒の場合 赤い背景色を反映させたいです。 (例えば試験2、1行目のC列数字3に赤い背景色を塗った場合 試験1、sheet1の6行目、M列数字3に赤い背景色を塗る) Sub macro()' 赤色を反映させる Dim a As Variant Dim b As Variant Set b = Workbooks("試験1.xls").Worksheets("sheet1") For a = 1 To 31 If Cells(1, a).Interior.ColorIndex = 3 Then b.Cells(6, a).Interior.ColorIndex = 3 End If Next a End Sub すいませんが コードを書いてもらえるとすごく助かります。 解説があればなお助かります。 回答お願い致します。
- ベストアンサー
- Visual Basic
お礼
回答ありがとうございました、説明もついていてとても勉強になります。 今回の場合はD列の空白セルがNGということですね。D列だとそれが無理そうなので、他の列で空白がない列が作れるように考えて見ます。一回目のご回答に返信をしてしまいしたが、No.9232269 に再度表を添付いたしました。もし何かあればよろしくお願いします。。。