dポイントプレゼントキャンペーン実施中!

PDFからEXCELに変換して表作成する作業をしています。
A列:品番
B列:商品名
C列:カラー
D列:数量です。

大体1ファイルに100から200行のデータがあり、毎日2~3ファイル、多い時で5ファイル作成する必要があるので短縮できる作業は短縮してしまいたいです。

A3はA2と同じ品番、B3にはB2と同じ商品名をいれる必要があり
今は都度コピー&ペーストしてます。
品番や商品名に数字が混じるケースもあり、オートフィルでのコピーは使えません。

関数やマクロ、VBAで作業を短縮する方法はありませんか?
別途に関数ファイルを作っておいて作業が終わったものを値コピーでも良いと考えてますが、どういう関数にすればいいのか思いつきません。

「Excelの表作成でコピペ作業を軽減した」の質問画像

質問者からの補足コメント

  • うーん・・・

    controlキーを押せば、数字があってもコピーは可能です。
    ですが、これを毎日30回40回50回と手動でするのは疲れますし間違いの元になるので、一括で簡単かつ確実にできる方法を求めてます。

      補足日時:2022/02/04 15:45

A 回答 (11件中1~10件)

まず、日本語入力をOFFにする。



表内のセルを1つ選択し、Ctrl+G⇒セル選択⇒空白セル⇒OK
これで表内の空白セルが選択される
=を入れる⇒十字キーの↑キーを押す⇒Ctrl+Enter
埋まったら最後に全体をコピペして値にする。

ではどうでしょうか?
    • good
    • 3
この回答へのお礼

すごい、できました!
今までの苦労を思い出して、じわーっと感動してます。
聞いてよかった。
これをマクロに記録してしまえばいいんですね。
ありがとうございます!

お礼日時:2022/02/04 18:08

こんにちは



A、B列の空欄に、上のセルと同じ値を埋めれば良いものと解釈しました。

例えば、「一時入力用」のシートを作成しておいてはいかがかと。(雛型シートでも良いですけれど)
準備として、添付図では、F2セルに
 =IFS($D2="","",A2="",F1,1,A2)
の式を入れて、G2セルにコピーし
H2セルには、
 =IF(C2="","",C2)
を入れて、I2セルにコピー
上記のF2:I2を下方に十分に(200行までとか)フィルコピーしておきます。

※ この状態ではA:D列に何も入力が無ければ、何も表示されません。

1)A:D列に作業で内容を入力をすると、F:I列に同じ内容で
  空白を埋めたものが表示されます
2)この状態でE:I列をコピーし、最終のシートのA:D列へ「値をペースト」すれば、目的は果たせるのではないかと想像します。

※ 次の作業時には、A:D列を消去して、再記入すればそのまま使えるものと思います。
「Excelの表作成でコピペ作業を軽減した」の回答画像11
    • good
    • 1
この回答へのお礼

ありがとうございます。
そうなんです。ご理解いただき感謝します。
関数用の一時ファイルを作ってます。それに教えていただいたシートを作成して追加しておきますね。

理解と作業がゆっくりペースでまだ教えていただいたものを再現できてないのですが、とりあえずお礼まで。

お礼日時:2022/02/04 18:18

マクロでやるなら以下のようになります。



まず新規のExcelブックを開きます。次に「ALT+F11」を押下して
マクロ画面を開きます。

左上の「VBAProject(Book1)」右クリック
 → 「挿入」
  → 「標準モジュール」
を選択すると、マクロ(VBA)入力画面が右側に表示されますので、そこに
以下のサンプルマクロを貼り付けてください。

Sub BlankCellsCopy()
Dim idxR As Integer
Dim wkA, wkB As Variant
  For idxR = 2 To Range("c65536").End(xlUp).Row
   If Cells(idxR, "A") <> "" Then
    wkA = Cells(idxR, "A").Value
    wkB = Cells(idxR, "B").Value
   Else
    Cells(idxR, "A") = wkA
    Cells(idxR, "B") = wkB
   End If
  Next idxR
End Sub

ブックは「Excelマクロ有効ブック(*.xlsm)」形式で保存してください。

次にPFDから変換したExcelを開き「F8」を押下すると
「BlankCellsCopy」の名前が表示されるので、「実行」をクリックします。
(マクロを記録したブックを開いていないと表示されませんよ)

サンプルマクロは後で変更しやすいようベタに書きました。またC列には必ずデータが入っている前提です。
少し眺めれば列の追加や変更も可能と思います。
    • good
    • 1
この回答へのお礼

ありがとうございます。
VBAを触るのはものすごく久しぶりなので検索して調べつつゆっくり解読します。
わからなかったら質問するので教えてくださいませ。
関数ファイルを別で作成してこのVBAを保存しておき、マクロボタンひとつで実行できる形にしておきたいと考えています。

お礼日時:2022/02/04 17:55

別表を作っておき


aを入力するとa2b2c2が入力され
a1を入力するとa43b3c3が入力され
bを入力するとa6b6c6が入力される様にVLOOKUP関数でくっつけるのはいかがでしょう。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2022/02/04 18:18

要するに空欄の場合、上のセル値をコピーするという事でしょうか?


以下のページが参考になりませんか?
 
https://www.shegolab.jp/entry/excel-macro-fill-d …
    • good
    • 2
この回答へのお礼

そうなんです。やりたいことはまさにこれです。
ただ読んでもぱっと理解が追い付かないので少し時間をください。

お礼日時:2022/02/04 18:02

A列の品番とB列の商品名とC列のカラーの組み合わせ表に従ってコピーして行くイメージですか?

    • good
    • 0
この回答へのお礼

えっとですね。
解決しました。
早々とたくさんのコメントやお返事をいただきありがとうございます。

お礼日時:2022/02/04 18:09

んじゃ、A2セルからA5セルまで選択して、


 Ctrl+D 
で良いんじゃないかな。

マウスを使わないなら、A2セルを選択した状態から、
 Shift+Ctrl+↓
 Shift+↑
 Ctrl+D
 Crtl+↓
と、ショートカットキーの操作を繰り返せばいい。

ただし一番最後のデータだけは、
 Shift+Ctrl+↓
 Shift+↑
ではなく、
 Shift+↓
で範囲を決めるようにしましょう。
    • good
    • 0
この回答へのお礼

大丈夫です。解決しました。
ありがとうございました。

お礼日時:2022/02/04 18:12

もう少し具体的に仕事が解かれば、作成して見ますがよく解りません。


VLOOKUPでできそうです。
別表を作っておいて、VLOOKUP関数でくっつけるイメージです。
    • good
    • 0
この回答へのお礼

そうですね。そのままのデータを載せるわけにもいかず
質問がわかりにくいなか、回答いただきありがとうございました。
解決しました

お礼日時:2022/02/04 18:10

そもそも、データを送ってくれている元の人に


全部のセルを埋めてもらってから、送ってもらえばいいと思うけどね。
あなたがする作業にしなければいいし、納品のフォーマットを変えたらいいのよ。
    • good
    • 0
この回答へのお礼

それができたら苦労はしません(笑)

お礼日時:2022/02/04 18:10

∨LOOKUP関数とかXLOOK関数とか解りますか?

    • good
    • 0
この回答へのお礼

vlook関数は何度か使ったことはありますが、xlook関数はありません。
どんな風に使うのでしょうか?

お礼日時:2022/02/04 15:49

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