layy の回答履歴
- エクセル複数シートから一定の範囲を1シートへVBA
エクセルのVBAで質問です。 A1~A3行までは、タイトル(3行が列タイトル) A4行以降から一定のデータが入っており、商品ごとにシートを分けています。 列BF4~BM81までのデータを自動でコピーし、全データシートも自動でできればと思っています。 BF4列には、日付が入っており、複数のシートからコピーされたものは、日付順にて並べたい。「全データシート」を自動で作成する方法は、ネットにて調べることができたのですが、一定の範囲内の複数シートを合算し、日付順に並べ替えて自動でコピーするというのが分かりません。 VBAも全くの初心者です。 詳しくお教えいただればと思います。 よろしくお願いします。
- 締切済み
- Visual Basic
- ringo115_115
- 回答数3
- CSVファイル読み込みでズレがおきる
お世話になります。 Windows XP SP3、Access2003 で CSVファイルをインポートする処理をつくっています。 読み込むCSVファイルが大きく、必要ないフィールドが多いのですが、 下記のようにLine Input で全部読み込んで Splitでカンマ区切りでバラしてvarData(Variant型)にいれて レコードセット(インポート先の既存テーブル)に入れる時に、 必要に応じてデータ型を変更して フィールド指定ししていれるようにしています。 ところが、CSVファイルの中のデータで数件ほど ちゃんと読み込めないものがあり、 レコードセットにいれるときにエラーでとまってしまいます。 調べてみると、フィールドで取得した値がずれており、 前の方の複数のフィールドでNull値があった場合?に ずれ込むことがあるようです。 どうしたらこの現象はなおせるのか教えてください。 それとも・・・ このようにフィールド指定してレコードセットに入れ込むよりも 一度CSVファイルの全レコードを他のテーブルにインポートして、 そこからインポート先の既存の本テーブルにいれたほうがいいのでしょうか? よろしくお願いいたします。 Open ---- For Input As---- Line Input #lngFileNum, strData インポート先のテーブルをレコードセットで開く DAO、トランザクション使用 Do Until EOF(lngFileNum) Line Input #lngFileNum, strData 'データを配列へ varData = Split(strData, ",") With rs .AddNew !番号 = CLng(varData(0)) !名称 = varData(1) !受付日 = DateValue(varData(8)) !種別 = varData(10), "" !登録番号 = CLng(varData(11)) (以下略)
- 締切済み
- その他(データベース)
- rikorisu-kun
- 回答数5
- Excel詳しい方お願いします!!
Excelで以下のようなIDごとに日付が入った元データがあるのですが、 そのデータを元にその下のような表を作りたいと思っています。 | ID | 氏名 | 日付 | | 11 | ○○○ | 20110105 | | 11 | ○○○ | 20110208 | | 11 | ○○○ | 20110812 | | 22 | △△△ | 20110319 | | 22 | △△△ | 20110525 | | 22 | △△△ | 20110914 | | 22 | △△△ | 20111012 | | 22 | △△△ | 20111225 | | 33 | □□□ | 20110629 | | 33 | □□□ | 20110820 | | 33 | □□□ | 20111223 | | 33 | □□□ | 20111227 | | ID | 氏名 | 日付(1) | 日付(2) | 日付(3) | 日付(4) | 日付(5) | | 11 | ○○○ | 20110105 | 20110208 | 20110812 | | | | 22 | △△△ | 20110319 | 20110525 | 20110914 | 20111012 | 20111225 | | 33 | □□□ | 20110629 | 20110820 | 20111223 | 20111227 | | 要するに一人一行で横へ日付を並べたいだけなのですが、 色々考えてみたものの行き詰っています。 IDを元に氏名はVLOOKUP関数で何とか出来たのですが、 日付部分にどのような関数を組んだらいいのか分かりません。 どなたか分かる方教えて頂けないでしょうか。 よろしくお願いします。 ちなみにExcelは2000を使っています。
- ベストアンサー
- その他MS Office製品
- compq
- 回答数10
- CSVファイル読み込みでズレがおきる
お世話になります。 Windows XP SP3、Access2003 で CSVファイルをインポートする処理をつくっています。 読み込むCSVファイルが大きく、必要ないフィールドが多いのですが、 下記のようにLine Input で全部読み込んで Splitでカンマ区切りでバラしてvarData(Variant型)にいれて レコードセット(インポート先の既存テーブル)に入れる時に、 必要に応じてデータ型を変更して フィールド指定ししていれるようにしています。 ところが、CSVファイルの中のデータで数件ほど ちゃんと読み込めないものがあり、 レコードセットにいれるときにエラーでとまってしまいます。 調べてみると、フィールドで取得した値がずれており、 前の方の複数のフィールドでNull値があった場合?に ずれ込むことがあるようです。 どうしたらこの現象はなおせるのか教えてください。 それとも・・・ このようにフィールド指定してレコードセットに入れ込むよりも 一度CSVファイルの全レコードを他のテーブルにインポートして、 そこからインポート先の既存の本テーブルにいれたほうがいいのでしょうか? よろしくお願いいたします。 Open ---- For Input As---- Line Input #lngFileNum, strData インポート先のテーブルをレコードセットで開く DAO、トランザクション使用 Do Until EOF(lngFileNum) Line Input #lngFileNum, strData 'データを配列へ varData = Split(strData, ",") With rs .AddNew !番号 = CLng(varData(0)) !名称 = varData(1) !受付日 = DateValue(varData(8)) !種別 = varData(10), "" !登録番号 = CLng(varData(11)) (以下略)
- 締切済み
- その他(データベース)
- rikorisu-kun
- 回答数5
- 数字の間にハイフン(-)を入れる方法を!!
教えて下さい宜しくお願いします。 エクセルの表計算です。バーコードリーダーで読み込んだ数字が13桁あります。 その数字の途中にハイフンを入れ管理をしたいのですが良い方法はない物でしょうか? 例)A1のセルにバーコードで読み込んだ数字をB1のセルに 0000000000000→00000-00000000 0000000000001→00000-00000001 1111111111111→11111-11111111 の様に全て5桁と8桁に分け管理したいのです。 宜しくお願いします。
- ベストアンサー
- その他(データベース)
- hachio_kun
- 回答数2
- Excel詳しい方お願いします!!
Excelで以下のようなIDごとに日付が入った元データがあるのですが、 そのデータを元にその下のような表を作りたいと思っています。 | ID | 氏名 | 日付 | | 11 | ○○○ | 20110105 | | 11 | ○○○ | 20110208 | | 11 | ○○○ | 20110812 | | 22 | △△△ | 20110319 | | 22 | △△△ | 20110525 | | 22 | △△△ | 20110914 | | 22 | △△△ | 20111012 | | 22 | △△△ | 20111225 | | 33 | □□□ | 20110629 | | 33 | □□□ | 20110820 | | 33 | □□□ | 20111223 | | 33 | □□□ | 20111227 | | ID | 氏名 | 日付(1) | 日付(2) | 日付(3) | 日付(4) | 日付(5) | | 11 | ○○○ | 20110105 | 20110208 | 20110812 | | | | 22 | △△△ | 20110319 | 20110525 | 20110914 | 20111012 | 20111225 | | 33 | □□□ | 20110629 | 20110820 | 20111223 | 20111227 | | 要するに一人一行で横へ日付を並べたいだけなのですが、 色々考えてみたものの行き詰っています。 IDを元に氏名はVLOOKUP関数で何とか出来たのですが、 日付部分にどのような関数を組んだらいいのか分かりません。 どなたか分かる方教えて頂けないでしょうか。 よろしくお願いします。 ちなみにExcelは2000を使っています。
- ベストアンサー
- その他MS Office製品
- compq
- 回答数10
- EXCELのマクロで数値の時間計算。
今時間がA1に「830」とあります。 これは「8:30」の意味で、A1を「8.5」にしたいです。 例えば「1200」なら「12.0」。「1345」なら「13.75」にしたいです。 これを関数ではなくマクロでやりたいです。 どのようにすればよろしいですか? お願いします。
- EXCELのマクロで数値の時間計算。
今時間がA1に「830」とあります。 これは「8:30」の意味で、A1を「8.5」にしたいです。 例えば「1200」なら「12.0」。「1345」なら「13.75」にしたいです。 これを関数ではなくマクロでやりたいです。 どのようにすればよろしいですか? お願いします。
- Access vba 教えてください。 初心者です
以下のような テーブルT_ソフトリスト、テーブルT_ソフト フォームF_入力 があったときに、フォームの使用者のコンボボックスに入力をしたときに、 T_ソフトから使用者を探して、ソフトリストIDを取得し、そのソフトリストIDを元にT_ソフトソフトのソフト名をフォームのコンボボックスに表示させるようにしたいのですが、 どの様なソースコードを書けばよいでしょうか? 「T_ソフトリスト」←テーブル ================================== ID | ソフト名 | ────────────── 1 | A | 2 | B | 3 | C | 4 | D | 5 | E | ================================== 「T_ソフト」←テーブル ================================== ID |ソフトリストID | 使用者 | ─────────────────── 1 | 4 | 佐藤 | 2 | 2 | 鈴木 | 3 | 5 | 斉藤 | 4 | 1 | 佐藤 | 5 | 3 | 田中 | ================================== 「F_入力」←フォーム ================================== 使用者 [コンボボックス]←Combo_UserType ソフト名 [コンボボックス]←Combo_User ==================================
- ベストアンサー
- Visual Basic
- KtoTtoA
- 回答数19
- ExcelVBAのLineInput取得値の置換等
ExcelのVBAでLine Inputで取得した内容について、 いくつかの処理を行いたいのですが記述が分かりません。 どうか教えて頂きたく思います。 Sub test() Dim buf As String Open "D:\test.txt" For Input As #1 Do Until EOF(1) Line Input #1, buf 「ここに入る処理の記述」 Loop Close #1 End Sub 知りたい記述の処理内容 Bufの中を先頭から1文字1文字確認して… 1.もしBufの先頭と行末にスペースがあれば、スペースを削除(全角・半角・タブを対象) 2.もしBufに2文字以上の連続スペースがあれば、それが1文字になるまで削除(1文字だけは残す) 3.もしBufに半角英大文字があれば半角英小文字にする(または半角英小文字を半角英大文字にする) 4.もしBufに全角数字があれば、半角数字に置換する 5.もしBufに全角漢字(都道府県市区町村名等)しか無かった場合、特定の文字の後に全角スペースを入れる(県と市) 6.もしBufに数字の後に続く半角ハイフンがあった場合(2-5-301号室等)ハイフンを全角にする 7.もしBufに"郵便番号"或いは"〒"の文字があった場合、該当する文字のみを削除 8.もしBufに"東京都""沖縄県""大阪府""北海道""福岡県"以外の文字があった場合、該当する文字以外を削除 9..もしBufが47都道府県以外の文字で始まった場合、Bufの先頭に"都道府県名エラー"と加える 全て別々の処理として教えて頂きたく思います。 分かる部分だけで構いませんので、どうぞ宜しくお願い致します。
- ExcelVBAのLineInput取得値の置換等
ExcelのVBAでLine Inputで取得した内容について、 いくつかの処理を行いたいのですが記述が分かりません。 どうか教えて頂きたく思います。 Sub test() Dim buf As String Open "D:\test.txt" For Input As #1 Do Until EOF(1) Line Input #1, buf 「ここに入る処理の記述」 Loop Close #1 End Sub 知りたい記述の処理内容 Bufの中を先頭から1文字1文字確認して… 1.もしBufの先頭と行末にスペースがあれば、スペースを削除(全角・半角・タブを対象) 2.もしBufに2文字以上の連続スペースがあれば、それが1文字になるまで削除(1文字だけは残す) 3.もしBufに半角英大文字があれば半角英小文字にする(または半角英小文字を半角英大文字にする) 4.もしBufに全角数字があれば、半角数字に置換する 5.もしBufに全角漢字(都道府県市区町村名等)しか無かった場合、特定の文字の後に全角スペースを入れる(県と市) 6.もしBufに数字の後に続く半角ハイフンがあった場合(2-5-301号室等)ハイフンを全角にする 7.もしBufに"郵便番号"或いは"〒"の文字があった場合、該当する文字のみを削除 8.もしBufに"東京都""沖縄県""大阪府""北海道""福岡県"以外の文字があった場合、該当する文字以外を削除 9..もしBufが47都道府県以外の文字で始まった場合、Bufの先頭に"都道府県名エラー"と加える 全て別々の処理として教えて頂きたく思います。 分かる部分だけで構いませんので、どうぞ宜しくお願い致します。
- Nullの使い方が不正ですのエラーメッセージについ
AccsessとVB間でデータの参照、登録、作表、出力等のプログラムを稼動させております。 作表を行なうのにデータ範囲を指定し出力を行なおうとするとソートプラグラム中に”Nullの使い方が 不正です”のエラーメッセージが表示され出力ができません。 Function SortOperator(myTxt) As String 'マーク前に_がついているのでとります。 myTxt = Right(myTxt, Len(myTxt) - 1) ここがエラー表示されます。 何故でしょうか?
- 締切済み
- Visual Basic
- tubakiyama4286
- 回答数10
- エクセル詳しい方おしえてください
ABC列にデータを入力して全ての列に入っているデータのみ抽出するにはどうしたらいいですか 例 A B C りんご みかん りんご みかん バナナ みかん バナナ →この場合抽出結果をみかん としたいです 列の表示がずれますがなんとなくでみてくださいm(_ _)m よろしくおねがいします
- 締切済み
- その他MS Office製品
- marima
- 回答数7
- Access vba 教えてください。 初心者です
以下のような テーブルT_ソフトリスト、テーブルT_ソフト フォームF_入力 があったときに、フォームの使用者のコンボボックスに入力をしたときに、 T_ソフトから使用者を探して、ソフトリストIDを取得し、そのソフトリストIDを元にT_ソフトソフトのソフト名をフォームのコンボボックスに表示させるようにしたいのですが、 どの様なソースコードを書けばよいでしょうか? 「T_ソフトリスト」←テーブル ================================== ID | ソフト名 | ────────────── 1 | A | 2 | B | 3 | C | 4 | D | 5 | E | ================================== 「T_ソフト」←テーブル ================================== ID |ソフトリストID | 使用者 | ─────────────────── 1 | 4 | 佐藤 | 2 | 2 | 鈴木 | 3 | 5 | 斉藤 | 4 | 1 | 佐藤 | 5 | 3 | 田中 | ================================== 「F_入力」←フォーム ================================== 使用者 [コンボボックス]←Combo_UserType ソフト名 [コンボボックス]←Combo_User ==================================
- ベストアンサー
- Visual Basic
- KtoTtoA
- 回答数19
- EXCEL VBAにおけるサンプルコードをお教えく
EXCEL-VBAにて、データ変換プログラムを作成するにあたっての質問です。 元CSVファイルから、特定の項目でグルーピングし、グルーピングした単位で、CSVファイルを作成する仕組みを考えております。 そこで質問です。 1テキストファイルから複数ファイルを作成するロジックサンプルを提供しているHPなどご存知でしたらお教えください。尚、作成するファイル数は固定ではなく、変動致します。(元データのグルーピング結果次第)
- ベストアンサー
- その他(プログラミング・開発)
- bussan0819
- 回答数2
- マクロについて教えてください。
マクロ初心者なのですが、下記にあるマクロコードは、ダブルクリックをすると指定した場所の数量が一つずつ減っていき、「0」になるときに「Yes」「No」と表示がでるのですが、これをダブルクリックではなく、一回押せば数量が一つ減り、「0」になるときは「Yes」「No」の表示がでずに、消えて下のものがつめるようにしたいのです。 そして、間違えた場合に一つ前に戻れる、「戻る」というボタンをつけたいのですが、分かる方がいましたらお力をかしていただけないでしょうか。宜しくお願いいたします。 'シートモジュールへ Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Cells(Target.Row, 3).Value = 1 Then If MsgBox("xxx", vbYesNo) = vbYes Then Target.EntireRow.Delete Else Cells(Target.Row, 3).Value = Cells(Target.Row, 3).Value - 1 End If Cancel = True End Sub
- ベストアンサー
- Visual Basic
- aoriika0625
- 回答数4
- エクセルのデータ抽出
今エクセルのデータ抽出に困っています。 14:00:00.862072 文字列(以下すべて数字、英字混合) 14:00:00.862114 文字列 14:00:00.862359 文字列 14:00:00.862367 文字列 というデータがあり、 14:00:00.[この部分!!] 文字列 だけを抽出したいのです。 しかし、コピー&ペーストを行って貼り付けたので この長い1行が1つのセルにすべて入ってしまっています。 どこのサイトも、セルが違うと、抽出はできるように書いてあるのですが....。 このデータはすべて1つのセルに長い1文が入ってしまっています。 この場合、抽出することは不可能でしょうか? やりかたがあったら、ぜひ教えてください。
- Access vba 教えてください。 初心者です
以下のような テーブルT_ソフトリスト、テーブルT_ソフト フォームF_入力 があったときに、フォームの使用者のコンボボックスに入力をしたときに、 T_ソフトから使用者を探して、ソフトリストIDを取得し、そのソフトリストIDを元にT_ソフトソフトのソフト名をフォームのコンボボックスに表示させるようにしたいのですが、 どの様なソースコードを書けばよいでしょうか? 「T_ソフトリスト」←テーブル ================================== ID | ソフト名 | ────────────── 1 | A | 2 | B | 3 | C | 4 | D | 5 | E | ================================== 「T_ソフト」←テーブル ================================== ID |ソフトリストID | 使用者 | ─────────────────── 1 | 4 | 佐藤 | 2 | 2 | 鈴木 | 3 | 5 | 斉藤 | 4 | 1 | 佐藤 | 5 | 3 | 田中 | ================================== 「F_入力」←フォーム ================================== 使用者 [コンボボックス]←Combo_UserType ソフト名 [コンボボックス]←Combo_User ==================================
- ベストアンサー
- Visual Basic
- KtoTtoA
- 回答数19
- ノートパソコンのHDDの交換について
ノートパソコンのHDDの交換について質問があります。 現在使用しているノートパソコンが異常に立ち上がりが遅かったりするので HDDの交換を行おうと思っています。 そこで質問ですが、ウイルスバスターやOutlookのメール等を消したくないのですが、 新しいHDDにコピーする方法はありますでしょうか? (要するに、今のWindowsの内容を全てコピーして新しいHDDにコピーしたいです。) どうしてもわからなかった為、質問させて頂きました。 ご回答頂ければ幸いです。