はじめまして。
職場でExcel2016を使用しています。
(OSはWindows10)
50~60歳の年配が多い職場の業務改善が目的。
各々パソコンの腕前は文字の入力ならできる程度。
作成されたリストを基に別の担当者がWordでラベル作成を行っています。
こちらで質問させて頂いた理由は、VBAやマクロを使用してどうにかボタン一発で
リスト化できないかお知恵を借りたくて投稿いたしました。
上手く説明ができなく画像を添付してあります。
要はSheet1に入力した情報をもとに、Sheet2に画像のようにリスト化したいです。
入数というのは、1箱に入る入数です。
それぞれ商品が何番から何番まで入っているか連番で番号をラベルに表示しなくてはなりません。
スタート番号~エンド番号は連番ですが、入数やスタート番号は変動する場合があります。
以上、解決できる方法がありましたらご教示お願い致します。
No.4ベストアンサー
- 回答日時:
ワークシート関数は苦手なので VBA で。
Sub Sample()
Dim base_pos As Range
Dim hako As Long
Dim iri As Long
Dim sta_No As Long
Dim end_No As Long
Dim i As Long
Dim wk As Long
Worksheets("Sheet2").Cells.Clear
' 表の開始位置を指定する
Set base_pos = Worksheets("Sheet2").Range("F1")
Worksheets("Sheet1").Range("A3:B10").Copy
With base_pos
.Offset(, 1).PasteSpecial Paste:=xlPasteValues, Transpose:=True
iri = .Range("E2")
hako = .Range("F2")
sta_No = .Range("H2")
end_No = .Range("I2")
.FormulaR1C1 = "箱番号"
.Offset(1) = 1
.Offset(1).Resize(hako).DataSeries
.Range("B2:G2").Copy .Range("B2").Resize(hako)
.Range("H1") = "スタート"
.Range("I1") = "エンド"
.Range("J1") = "文字列スタート~エンド"
ReDim no_ara(1 To hako, 1 To 2) As String
wk = sta_No - 1
For i = 1 To hako
no_ara(i, 1) = Format(wk + 1, "0000")
wk = wk + iri
no_ara(i, 2) = Format(wk, "0000")
Next
no_ara(hako, 2) = Format(end_No, "0000")
.Range("H2").Resize(hako, 2).Value = no_ara
.Range("E1").Offset(hako) = no_ara(hako, 2) - no_ara(hako, 1) + 1
.Range("J2").Resize(hako).FormulaR1C1 = "=RC[-3] & RC[-2] & ""~"" & RC[-3] & RC[-1]"
End With
End Sub
すでに Sheet2 が存在する場合です。
シートをまっさらにしてから出力します。要注意。
素晴らしい解答ありがとうございます。
まさに希望通りの結果となりました。
おかげ様で業務がスムーズに移行できそうです。
ありがとうございました。
No.3
- 回答日時:
一つのブックにサマリのシートと複数のデータのシートを置く形で作ってみました。
B列にシート名、2行目に項目名を置いて各シートからデータを持ってくる形です。
ヒントになれば幸いです。
No.2
- 回答日時:
こんばんは。
フォーマット用のブックを作ってはダメでしょうか?
入力用のシートSheet1と、Sheet1の参照式等を入れたSheet2を用意して、
Sheet1にデータを入れれば、Sheet2が反映される様にするとか?
罫線や式を多めにセットしておいて、不要なところを消去するか?不足している部分をコピーすれば、それ程、手間が掛からない様な気がします。
F列:連番
G列:$B$3を参照
H列:$B$4を参照
I列:$B$5を参照
J列:N列-M列
K列:$B$7を参照
L列:$B$8を参照
M列:M2は1、M3はM2+$B$6
N列:N2は$B$6、N3は、IF(N2+$B$6>B10,B10,N2+$B$6)とか?
O列:L,M,N列を、&などで繋げれば作れそうですが。
No.1
- 回答日時:
回答がずれてごめんなさいね。
Excelが普及して、様々な機能も強化された結果、いろいろな業務で利用されていますね。
でも、もともと、Excelは一枚のシートにデーターを入力して様々に加工する時に便利なソフトです。
いま、質問者さんが仰る操作をするなら、Excelは不向きなソフトかなと思います。
「桐」や「アクセス」などデーターベースと言われるソフトを使うと、入力の手間は軽減できるし、わざわざWordでラベルを作る必要もなくなりますよ。
http://www.kthree.co.jp/kiri/
https://allabout.co.jp/gm/gc/439829/
だから、会社が許可してくれるなら、今後の合理化も含めて、データーベースに詳しい方に相談して、導入を検討してみると良いですよ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Excel(エクセル) エクセルでキーリストからデータを取り出して1枚1枚印刷するには? 11 2022/06/27 09:52
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- Visual Basic(VBA) エクセルVBA 4 2022/05/14 00:51
- その他(データベース) Excel VBA 転記について 1 2022/04/20 16:55
- Visual Basic(VBA) tatsumaru77様 昨日回答して頂いたものです。 すみませんが、昨日の質問で1つ補足があります 1 2022/05/15 15:06
- Excel(エクセル) Excelの数式についての質問 1 2022/10/31 15:50
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Excel(エクセル) Excel 表の作成について 3 2022/06/16 12:15
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの関数について教えて...
-
Excelカスタム関数(アドイン登...
-
Excelデータをコピペして、ペー...
-
Excel関数-文字列で自動作成さ...
-
スプレッドシート、Excelでの数...
-
Excelで50個のセルに同じ文字を...
-
Microsoft Officeの中古は信用...
-
スプレッドシートで使う数式を...
-
エクセルVBA、別ブックへ転記す...
-
エクセルで会社の従業員のデー...
-
エクセルで不等号記号(≠)が上に...
-
エクセルの表で1年間の曜日を...
-
A列とB列を参照してC列に連番を...
-
エクセルの空欄をつめて、次の...
-
エクセルでの特別な文字を上に...
-
エクセルでセルに標準で入力さ...
-
エクセル日付 文字列の関数がエ...
-
エクセル2013で月間勤務表から...
-
エクセルの日付を編集する
-
EXCELの質問です 119から足した...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA、別ブックへ転記す...
-
エクセルでの作業計算方法について
-
時間によってファイル名が変わ...
-
【関数】適切な文字数の数字を...
-
Excelについて教えてください
-
エクセル初心者です 関数の入れ...
-
【マクロ】ファイル名の変更に...
-
UNIQUE関数が使えないバージョ...
-
エクセルの計算
-
【関数】先頭だけにある、半角...
-
Excelで、決まった行を繰り返し...
-
Excelでセルの値が同じか...
-
LOOKUP関数を使えばいいのでし...
-
Excel
-
はがきについて。
-
エクセルの条件付き書式につい...
-
エクセルのデーターが2か月前の...
-
エクセル②
-
エクセルで「-0.0」と表示さ...
-
Microsoft1Officeの互換ソフト...
おすすめ情報