プロが教える店舗&オフィスのセキュリティ対策術

こちらの都合でマクロの内容が載せられないので文章だけで失礼します。

リストボックスに表示されたフォルダを選択し、コマンドボタンを押すとA列にフォルダ内に入ったデータが入力されるマクロを組みました。
これを、フォルダを選択しコマンドボタンを押すたびにB列、C列と隣の行に入力されるようにしたいのですが、どのようにすればよいでしょうか?

コマンドボタンを押すたびに列を移動させるマクロをご存じの方がいましたら、教えていただきたいです。よろしくお願いいたします。

A 回答 (6件)

手っ取り早い方法として・・・



ユーザーフォーム上に、
①テキストボックスとかラベルを配置する。
 入力対象の列番号を表示させておく。
 (非表示にしておいてもいいけど)

②コマンドボタンを押したら…
 ①から列番号を取得し、入力先セルを決めて値を書き込む。
 ①の列番号を +1 する。

これでいかがでしょう?
    • good
    • 0

こんにちは



シートの状態がどうなっているのかわからないので、なんとも言えませんが…

>コマンドボタンを押すたびに列を移動させるマクロ
◇方法1
・列数を示すプライベート変数を用意しておいて
 (初期値=1(=A列))
・出力の際には、その変数の示す列に出力する
・出力するごとに、変数をインクリメント

◇方法2
常にシートの空き列に出力するのなら
・1行目(?)の最終列を求め、その1列隣の列に出力する
 (UsedRangeの最終列の1列隣と考える方法もあり)
    • good
    • 0
この回答へのお礼

こんにちは。分かりづらい質問にもかかわらず、回答ありがとうございます。
データの関係上、最終列を求めることができないので、方法1を試してみようと思います。
ご意見、参考にさせていただきます。

お礼日時:2021/01/04 17:31

初級者レベルなのでお力になれないでしょうけど、ちょっとした疑問。



・『フォルダの選択』とはどのコントロールを用いて行いたいのか。
・『データが入力』とは『ファイル内のデータ』なのか『フォルダ内のファイル名』なのか或いはまた違うものか。

が気になりましたね。
あとはベテラン回答者様にお任せになってしまいますが。(いつもの事で)
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
・フォルダの選択は自身でクリックして選ぶ形です。(的外れな回答でしたら申し訳ありません)
・データと書いていますが、実際はjpegの画像データです。

お礼日時:2021/01/05 09:53

No.1 に書いた内容をざっくり画像に。



黄色の部分が Label1 です。
CommandButton をクリックするたびに、
Label1の列に書き込み処理(ココでは列番号を該当列に書き込むだけ)を行い、
Label1の値を「+1」する。

列移動についてだけの質問でいいんですよね?
「Excel VBA マクロ ユーザーフォ」の回答画像4
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
わざわざ画像までありがとうございます。
この方法が最も早くできそうです。
これをベースに改良していきたいと思います。
ありがとうございます。

お礼日時:2021/01/05 09:54

こんにちは、


すでに回答がありますが、
>列を移動させるマクロを
との事なので、例として下記を
Cells(2, Cells(2, Columns.Count).End(xlToLeft).Column + 1) = "Yes"
例は2行目が出力開始行と想定しています。
実行すると2行目の最終列+1行に"Yes"が入力されます。
セルに出力するコードのカラム部分(Offsetを使用している場合は該当箇所)を変更すれば、、と思います。
予め Cells(2, Columns.Count).End(xlToLeft).Column + 1は
変数に代入した方が判り易いかもしれませんね。
シートオブジェクトは省略されていますので必要に応じて明示してください。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
値データの場合は最終行を使えば作成できるのですね。
明記していませんでしたが、今回のデータは画像データでして...
今後の参考にさせていただきます。ありがとうございます。

お礼日時:2021/01/05 10:21

#5


すみません。訂正します

実行すると2行目の最終列+1行に"Yes"が入力されます。

実行すると2行目の最終列の右隣に"Yes"が入力されます。
最終列=左から右に見て値の入っている最右の列
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!