No.4ベストアンサー
- 回答日時:
空行が気になるなら、挿入してから空行を消すのではなく、挿入する前に、データがある行だけの行全体をコピーして挿入すれば良いです。
あるセルを選択して、そのあとはショートカットキーを組み合わせるだけで、データのある行だけの行全体を選択できるので、それをマクロ記録すれば良いです。
教えて頂いた通りにやってみました!
申請用紙の記入されたセルだけをCTRL+Shift+↓→ で範囲指定し、リストの方に挿入していく形のマクロを作ってみたら出来たので、これで理想のものが出来ました! 本当に有難うございました。
返信遅れて申し訳ありませんでした。。。
No.6
- 回答日時:
No.1です。
No.5さんご提案のCOUNTA()を使ったマクロを作ってみました。
申請用紙のシート
A2セルに申請日
B3セルに申請者
C4セルに申請理由
ボタンにMacro1()を割り当て
履歴のシート
A列に申請日
B列に申請者
C列に申請理由
D1セル =COUNTA(A:A)
Macro1()の内容
Dim Shinseibi As Long
Dim Shinseisha As String
Dim Riyuu As String
Dim Ichi As Integer
Sub Macro1()
Shinseibi = Cells(2, 1)
Shinseisha = Cells(3, 2)
Riyuu = Cells(4, 3)
Sheets("履歴").Select
Ichi = Cells(1, 4) + 1
Cells(Ichi, 1) = Shinseibi
Cells(Ichi, 2) = Shinseisha
Cells(Ichi, 3) = Riyuu
End Sub
基本はこんな感じでいけると思いますが、どうでしょうか。
私にはまだ難しいみたいです。。。申請用紙の記入されたセルだけをCTRL+Shift+↓→ で範囲指定し、リストの方に挿入していく形のマクロを作ってみたら出来たので、それでやってみます。
本当にレベル低すぎですみません・・・有難うございます!!
No.5
- 回答日時:
>入力フォーム(一覧表)にある最終行を、vlookupやindex関数で印刷用シートに参照させるテクが分かりません
必ずデータが入っている列をのデータ数を数える
例:
=COUNTA(A:A)
たとえば表題や項目名が有ったとしても最終行の行番号が求められます
後は申請書の入力欄に
=OFFSET(データシート!A1,COUNTA(データシート!A:A)-1,目的列)
とすればいいです。
オフセット関数は基点が0なので目的列はCOLUMN-1になるので注意。
---------------
申請用紙に入力したものを一覧の最終行に追加する行為はマクロでないと難しいのですが。
Range("A65536").End(xlUp)
でデータの最終行を求めて
Offset
で位置を指定してデータを挿入する、初歩的なマクロですから挑戦してみてください。
=COUNTA(A:A), OFFSET ともに初めて使いました。便利な式ですね。今後活用します! このやり方でも出来ましたが、最後のマクロ部分がうまく繋がらず・・・私にはまだ難しいみたいです。。。申請用紙の記入されたセルだけをCTRL+Shift+↓→ で範囲指定し、リストの方に挿入していく形のマクロを作ってみたら出来たので、それでやってみます。
本当にご指導有難うございました!
No.3
- 回答日時:
1)申請用紙の、申請内容5行(内容が1行しかなくても、とりあえず5行)を、行選択してコピー。
2)履歴用別シートの先頭行(1行目は項目名になると思うので、2行目)に、コピー内容を挿入。
この一連の作業を、「ツール - マクロ - 新しいマクロの記録」で記録してみましょう。
そして、その記録したマクロをボタンに割り当ててみましょう。
内容が5行に満たない場合は、空白行も挿入されますが、それなりの履歴リストができあます。
オートフィルタで、目的のデータを抽出することもできます。
このやり方だと、65536行までという行数制限ができてしまいますが、13107回までは大丈夫で、単純に365日で割ると、1日あたり35.9回まで大丈夫という計算になります。
なので、頻度によって、履歴用シートを、1年ごとにしたり、2年ごとにしたり、半年ごとにして、そのつどマクロを書き換えればやっていけます。
徐々にマクロを勉強していけば、その都度マクロを書き換えなくても、シートが一杯になったら自動的に次のシートを作るというようなマクロも作れるようになります。
この回答への補足
やってみたら出来ました!が、やはりなんとなく空白行が気になります。一連のマクロの最後に、リストの空白行を削除する、といったコマンドを追加する事はかなり難しいでしょうか・・・?込み入ってくる場合は、やはり参照式などでのやり方を考えて見ます。
補足日時:2009/02/19 01:15No.1
- 回答日時:
ご希望の回答から外れますが、ご質問のような用途ならAccessの方が適しているものと考えます。
実際、以前勤めていた会社で同様の処理をAccessやLotus Notesで組みましたが、そんなに手間がかかるものでもなく、Excelでやるよりは将来的な拡張や応用に優れていると思います。
一例として参考URLを挙げておきますので、ご検討されては如何でしょうか。
(Accessは導入されていない、導入出来ないとのことであればスルーして下さい)
参考URL:http://www.accessclub.jp/beginer/index.html
アドバイス有難うございます。ACCESSで作る程は件数が出ないと思うのと、Accessを全く使い慣れていないユーザーがほとんどなので、エクセルの方が何かと導入しやすいかと思ってます。でも、本当に有難うございました!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelのVBAコードについて教えて下さい。 2 2022/06/25 14:04
- Excel(エクセル) エクセルシートをVBAでpdfで保存したい 2 2022/06/27 10:17
- Excel(エクセル) ExcelのVBAコードについて教えてください。 1 2022/06/20 09:22
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
- Visual Basic(VBA) Excelのマクロコードについて教えてください 1 2022/03/27 12:02
- ポイントサービス・マイル マイナポイント第2弾の子供(未成年)2人分の申請について教えてください。自分の分はd払いアプリ経由で 3 2022/10/27 00:25
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/08 09:08
- 消費税 適格請求書発行事業者の登録・消費税申告について 7 2023/05/20 11:54
- その他(ニュース・時事問題) 何故、口座と健康保険証とマイナンバーの紐づけは申請なのでしょうか。 6 2023/08/10 15:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
WEB上の表の列コピー選択方法は?
-
オートフィルタのリストを順番...
-
エクセルで作成した縦に長い表...
-
Excelの数式のコピーで列移動で...
-
【エクセル】行挿入で数式もい...
-
エクセルVBAで、行コピーを複数...
-
一つのシートの中に複数のペー...
-
ピボットテーブル→参照が正しく...
-
Excel 表から値をさがして隣の...
-
メモ帳からエクセルに貼り付け...
-
エクセルの列幅
-
エクセルの関数の使い方 繰越...
-
Excelで検索結果をテキストボッ...
-
エクセルのリストから欠番を拾...
-
エクセル シートのコピーをリ...
-
マクロの記述をもっとシンプル...
-
一太郎にエクセルの表を貼り付...
-
Excel2010で行ごとの重複削除
-
文字列+数字から最大を抽出す...
-
エクセルVBAでメモリ解放するに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
一つのシートの中に複数のペー...
-
WEB上の表の列コピー選択方法は?
-
オートフィルタのリストを順番...
-
【エクセル】行挿入で数式もい...
-
エクセルで作成した縦に長い表...
-
Excelの数式のコピーで列移動で...
-
ピボットテーブル→参照が正しく...
-
Excelピボットテーブルで 総計...
-
エクセルVBAで、行コピーを複数...
-
メモ帳からエクセルに貼り付け...
-
Excel 表から値をさがして隣の...
-
エクセルのリストから欠番を拾...
-
エクセルの列幅
-
エクセルの関数の使い方 繰越...
-
エクセルに詳しい方、助けてく...
-
PDFからExcelに変換する時に「...
-
一太郎にエクセルの表を貼り付...
-
Excelで検索結果をテキストボッ...
-
エクセル シートのコピーをリ...
-
VBA csvを100万行ずつ各...
おすすめ情報