fumufumu_2006 の回答履歴

全466件中101~120件表示
  • VBAにおける文字列結合と繰り返し入力の組み合わせについて

    はじめまして,VBA初心者ですがよろしくお願いいたします。 今,データベースから文字列を抜き出してセルに等間隔で貼り付けるというプログラムを作成しています。 実際は,もっと複雑なプログラムなのですが質問のために簡単にしました。 Sub 例文() For a = 1 To 10001 ggx = あるデータベース Dim i As Integer For i = 1 To 13 文字列 As String 文字列 = 文字列 & MidB(ggx, i * 80 + 95, 2) Next i .Cells(2 * a + 4, 1).Value = 文字列 Next a End Sub この式だと,セルに返したときに一番最初のセルには要求した文字列が 貼り付けられるのですが,次以降のセルには,要求した文字列に加えて前のセルの文字列も返されてしまい最終セルには,膨大な文字列が返されてしました。 ちなみに,詳しく書けなくて申し訳ないのですが変数aによってデータベースの内容は変化します。 MidB(ggx, i * 80 + 95, 2) という関数でデータベースから条件に当てはまるいくつかの文字列を抜き出してセルに返すことまでは出来たのですが返し方がうまくいきません。 質問の仕方が下手で非常に申し訳ないのですがどうぞアドバイスをお願いします。

  • ExcelのCopy&Pastsについて

    セルを1個づつ上にずらせ1番下に新しいデータを書き込むようにしたくて次のようなプロシージャーで行っていますが 'PROG1: Sheets("sheet2").Select Range("V10:Z98").Select Selection.Copy Range("V9").Select ActiveSheet.Paste Application.CutCopyMode = False PROG1:4回繰り返します。 sheet1で作業をしていて上のように実行しますと画面が4回動いてしまします。 'PROG2: If Sheets("sheet2").Range("A23") = "MC1" Then Set objFrom = ThisWorkbook.Worksheets("あきない02") Set objTo = ThisWorkbook.Worksheets("あきない02") For i = 10 To 98 For j = 22 To 26 'objFrom.Cells(i, j).Copy Destination:=objTo.Cells(i - 1, j) objTo.Cells(i - 1, j).Value = objFrom.Cells(i, j).Value Next j Next i End If PROG2を4回繰り返します。すると画面は動かなくていいのですが終わるまでに3分ほどかかります。 画面を動かさずにもっと早くできる方法はないでしょうか?

  • Accessのレポート機能でソート&抽出条件を指定したい

    accessでレポート機能について、質問です。 エクセルでいうフィルタ機能みたいなものはあるのでしょうか。 例えば、以下の場合、職位="B"だけレポートで表示したい場合、 どうすればよいのでしょう? CD 職位 所属 01  A  東京 02  B  東京 → このデータだけを表示 03  A  大阪 1)クエリを作って、レポートで表示するしかないのでしょうか? 2)レポートのデザインで条件指定ができるのでしょうか? ソートの条件も変えたいのですが、どの項目をソートするかは、 どこで指定できるのでしょうか? 要はレポートの形式は1つで、様々な抽出条件とソート条件で レポート表示したいのです。

  • 教えて下さい。VBAマクロで困ってます。

    VBAマクロ初心者です。実は、次のようなコードをどのように書けばよいのか教えて下さい。 例えば、 Aは、デスクトップ上のエクセルファイルの"Sheet1"のA1:B4のA列は数値、B列は文字列。 Aをデスクトップ上の別のフォルダーにあるエクセルファイルの"Sheet1"のA1:B4にデータをコピーをするのですが・・・。まったくわかりません。または、説明が下手でやりたい事が伝わらないかもしれませんが、よろしくお願いいたします。

  • VBAにおける文字列結合と繰り返し入力の組み合わせについて

    はじめまして,VBA初心者ですがよろしくお願いいたします。 今,データベースから文字列を抜き出してセルに等間隔で貼り付けるというプログラムを作成しています。 実際は,もっと複雑なプログラムなのですが質問のために簡単にしました。 Sub 例文() For a = 1 To 10001 ggx = あるデータベース Dim i As Integer For i = 1 To 13 文字列 As String 文字列 = 文字列 & MidB(ggx, i * 80 + 95, 2) Next i .Cells(2 * a + 4, 1).Value = 文字列 Next a End Sub この式だと,セルに返したときに一番最初のセルには要求した文字列が 貼り付けられるのですが,次以降のセルには,要求した文字列に加えて前のセルの文字列も返されてしまい最終セルには,膨大な文字列が返されてしました。 ちなみに,詳しく書けなくて申し訳ないのですが変数aによってデータベースの内容は変化します。 MidB(ggx, i * 80 + 95, 2) という関数でデータベースから条件に当てはまるいくつかの文字列を抜き出してセルに返すことまでは出来たのですが返し方がうまくいきません。 質問の仕方が下手で非常に申し訳ないのですがどうぞアドバイスをお願いします。

  • VBAで2シートあるデータを一度に印刷する方法

    エクセルのシート1とシート2にそれぞれシート3からデータをVLOOKで引き込むように設定をしてあります。 印刷する際に、一括印刷や指定したものだけを印刷するボタンを作成してあるのですが、そこに『シート1のみ印刷・シート2のみ印刷、シート1と2両方印刷』が選択できるようなVBAを追加することは可能でしょうか?? シート1と2はまったく違うデータを引き込んでいます。 VBAは初心者です。 よろしくお願いします。

  • excel  vba  シートの取り扱い

    Sub   aaa() Worksheets.Add ActiveSheet.Name = "Namefile" ((質問)ここへ適当なコードを追加することによって 以下のThisWorkbook.Sheets(1)というのを、上で追加した Namefileシートを処理することとしたい。 つまり  Namefileシート=ThisWorkbook.Sheets(1) どうすればいいか。よろしくお願いします。) ThisWorkbook.Sheets(1).UsedRange ThisWorkbook.Sheets(1).UsedRange.Delete ThisWorkbook.Sheets(1).Range("B2") = "ファイル名" ThisWorkbook.Sheets(1).Range("C2") = "最終更新日" End Sub

  • エクセルで、定型の表に別シートの名簿にある名前を順番に挿入して印刷

    エクセルで、定型の表に別シートの名簿にある名前を順番に挿入して印刷をしたいのです。その際マクロの印刷ボタンを1回クリックするだけで完了できるとよいのですが、どのようにするのが効率がよいかご教授下さい。 名簿の名前は増えたり減ったりするのですが、そのたびにマクロの修正をしなくてもよいようにしたいです。 表は、定型のシートのA5に別シートのA1~A10の内容を順番に計10枚印刷する、というものです。ただ、現在はA1~A10ですが、印刷の機会によりA1~A3までしかデータがないという場合もあり、この場合は印刷がA3までの3枚で終わるようにしたいのです。

  • 悩んでくれる方募集中!(コード掲載)

    いままで売掛一覧シートの「A列」のランダムな位置に数字の[ 1 ]を数カ所入力し、列を選択した場合その「列」に入っているデーターを納品書シートにあてはめて印刷しておりました。(下記コード使用) ------------------------------------------------------------- Sub 納品書印刷() Dim Sheet1 As Worksheet Dim Sheet2 As Worksheet Set Sheet1 = ThisWorkbook.Worksheets("売掛一覧") Set Sheet2 = ThisWorkbook.Worksheets("納品書") Dim baseRow As Long ' 4行目から、2列目(日付)が空になるまでループ baseRow = 4 Do While (Sheet1.Cells(baseRow, 2).Value <> "") '1列目(A列)に数字の1が入っていた時のみ印刷 If (Sheet1.Cells(baseRow, 1).Value = 1) Then ' P2 に 2列目の値を代入 ' O3 に 3列目の値を代入等 Sheet2.Range("P2").Value = Sheet1.Cells(baseRow, 2).Value Sheet2.Range("O3").Value = Sheet1.Cells(baseRow, 3).Value Sheet2.Range("O12").Value = Sheet1.Cells(baseRow, 4).Value Sheet2.Range("W8").Value = Sheet1.Cells(baseRow, 5).Value Sheet2.Range("W11").Value = Sheet1.Cells(baseRow, 6).Value Sheet2.Range("B15").Value = Sheet1.Cells(baseRow, 7).Value Sheet2.Range("Q15").Value = Sheet1.Cells(baseRow, 8).Value Sheet2.Range("H15").Value = Sheet1.Cells(baseRow, 9).Value Sheet2.Range("I15").Value = Sheet1.Cells(baseRow, 10).Value Sheet2.Range("J15").Value = Sheet1.Cells(baseRow, 11).Value ' 印刷プレビュー Sheet2.PrintPreview End If '次の行 baseRow = baseRow + 1 Loop Set Sheet2 = Nothing Set Sheet1 = Nothing End Sub ----------------------------------------------------------------  ここからが本題なのですが、先ほど数字の1を入れるA列の[ 1 ]の他に数字の[ 2 ]と[ 3 ]も入れたときには下記のようにデーターを移動したいのです。 数字の[ 2 ]を入れた場合は、 Sheet2.Range("B16").Value = Sheet1.Cells(baseRow, 7).Value Sheet2.Range("Q16").Value = Sheet1.Cells(baseRow, 8).Value Sheet2.Range("H16").Value = Sheet1.Cells(baseRow, 9).Value Sheet2.Range("I16").Value = Sheet1.Cells(baseRow, 10).Value Sheet2.Range("J16").Value = Sheet1.Cells(baseRow, 11).Value 数字の[ 3 ]を入れた場合は、 Sheet2.Range("B17").Value = Sheet1.Cells(baseRow, 7).Value Sheet2.Range("Q17").Value = Sheet1.Cells(baseRow, 8).Value Sheet2.Range("H17").Value = Sheet1.Cells(baseRow, 9).Value Sheet2.Range("I17").Value = Sheet1.Cells(baseRow, 10).Value Sheet2.Range("J17").Value = Sheet1.Cells(baseRow, 11).Value 上記のよに印刷したいのです。[1]を入力の場合はLoop機能も使用して今まで通り使用して、[ 2 ]と[ 3 ]はLoopさせたくありません。 このようなわがままな件ですが お付き合いの程よろしくお願いいたします。

  • 教えて下さい。VBAマクロで困ってます。

    VBAマクロ初心者です。実は、次のようなコードをどのように書けばよいのか教えて下さい。 例えば、 Aは、デスクトップ上のエクセルファイルの"Sheet1"のA1:B4のA列は数値、B列は文字列。 Aをデスクトップ上の別のフォルダーにあるエクセルファイルの"Sheet1"のA1:B4にデータをコピーをするのですが・・・。まったくわかりません。または、説明が下手でやりたい事が伝わらないかもしれませんが、よろしくお願いいたします。

  • 【VAB】 エクセルファイルからCSVファイルをインポートするには

    お世話になります 実行可能か、わからず質問させて頂きます。 ■概要 ・CSVファイルをエクセルファイルにインポートしたいです ■設置 ・ユーザーフォームにテキストボックス、参照ボタン、実行ボタン を生成 ■動き ・参照ボタンをクリックするとダイアログボックスでCSVを選ぶ ・選んだあて先がテキストボックスに記載される ・実行ボタンでCSVをエクセルのシートに貼り付け (このとき貼り付ける列はVB内で決めておきたい、1,4,5,6,9列を貼り付けるなど) わかる方ご教授よろしくお願い申し上げます

  • 悩んでくれる方募集中!(コード掲載)

    いままで売掛一覧シートの「A列」のランダムな位置に数字の[ 1 ]を数カ所入力し、列を選択した場合その「列」に入っているデーターを納品書シートにあてはめて印刷しておりました。(下記コード使用) ------------------------------------------------------------- Sub 納品書印刷() Dim Sheet1 As Worksheet Dim Sheet2 As Worksheet Set Sheet1 = ThisWorkbook.Worksheets("売掛一覧") Set Sheet2 = ThisWorkbook.Worksheets("納品書") Dim baseRow As Long ' 4行目から、2列目(日付)が空になるまでループ baseRow = 4 Do While (Sheet1.Cells(baseRow, 2).Value <> "") '1列目(A列)に数字の1が入っていた時のみ印刷 If (Sheet1.Cells(baseRow, 1).Value = 1) Then ' P2 に 2列目の値を代入 ' O3 に 3列目の値を代入等 Sheet2.Range("P2").Value = Sheet1.Cells(baseRow, 2).Value Sheet2.Range("O3").Value = Sheet1.Cells(baseRow, 3).Value Sheet2.Range("O12").Value = Sheet1.Cells(baseRow, 4).Value Sheet2.Range("W8").Value = Sheet1.Cells(baseRow, 5).Value Sheet2.Range("W11").Value = Sheet1.Cells(baseRow, 6).Value Sheet2.Range("B15").Value = Sheet1.Cells(baseRow, 7).Value Sheet2.Range("Q15").Value = Sheet1.Cells(baseRow, 8).Value Sheet2.Range("H15").Value = Sheet1.Cells(baseRow, 9).Value Sheet2.Range("I15").Value = Sheet1.Cells(baseRow, 10).Value Sheet2.Range("J15").Value = Sheet1.Cells(baseRow, 11).Value ' 印刷プレビュー Sheet2.PrintPreview End If '次の行 baseRow = baseRow + 1 Loop Set Sheet2 = Nothing Set Sheet1 = Nothing End Sub ----------------------------------------------------------------  ここからが本題なのですが、先ほど数字の1を入れるA列の[ 1 ]の他に数字の[ 2 ]と[ 3 ]も入れたときには下記のようにデーターを移動したいのです。 数字の[ 2 ]を入れた場合は、 Sheet2.Range("B16").Value = Sheet1.Cells(baseRow, 7).Value Sheet2.Range("Q16").Value = Sheet1.Cells(baseRow, 8).Value Sheet2.Range("H16").Value = Sheet1.Cells(baseRow, 9).Value Sheet2.Range("I16").Value = Sheet1.Cells(baseRow, 10).Value Sheet2.Range("J16").Value = Sheet1.Cells(baseRow, 11).Value 数字の[ 3 ]を入れた場合は、 Sheet2.Range("B17").Value = Sheet1.Cells(baseRow, 7).Value Sheet2.Range("Q17").Value = Sheet1.Cells(baseRow, 8).Value Sheet2.Range("H17").Value = Sheet1.Cells(baseRow, 9).Value Sheet2.Range("I17").Value = Sheet1.Cells(baseRow, 10).Value Sheet2.Range("J17").Value = Sheet1.Cells(baseRow, 11).Value 上記のよに印刷したいのです。[1]を入力の場合はLoop機能も使用して今まで通り使用して、[ 2 ]と[ 3 ]はLoopさせたくありません。 このようなわがままな件ですが お付き合いの程よろしくお願いいたします。

  • 【VAB】 エクセルファイルからCSVファイルをインポートするには

    お世話になります 実行可能か、わからず質問させて頂きます。 ■概要 ・CSVファイルをエクセルファイルにインポートしたいです ■設置 ・ユーザーフォームにテキストボックス、参照ボタン、実行ボタン を生成 ■動き ・参照ボタンをクリックするとダイアログボックスでCSVを選ぶ ・選んだあて先がテキストボックスに記載される ・実行ボタンでCSVをエクセルのシートに貼り付け (このとき貼り付ける列はVB内で決めておきたい、1,4,5,6,9列を貼り付けるなど) わかる方ご教授よろしくお願い申し上げます

  • VLOOKUPとVBAを使っての複数のデータの一括印刷について

    パソコンにそれほど詳しくないものです。よろしくお願いします。 以下のようなことが可能かどうか、また、可能であれば方法を教えていただきたいのですが・・・ まず、エクセルのシート2には各店舗のデータがそれぞれ入っています。そしてシート1に表紙を作り、各店舗の店番号をA1セルに入力すと、シート2のデータより売上などをVLOOKUPで引き込むように設定してあります。この方法でやると、印刷の際に一店舗ずつ入力してから印刷をしないといけないのですが、任意の複数店舗の番号を入力するとその店舗分が一括で印刷できるVBAなどは無いでしょうか・・・ 例えば、1~10までの店舗番号があったときに、1、4、6を入力することで3店舗分が印刷されるようにしたいのですが・・・ よろしくお願いします。

  • VLOOKUPとVBAを使っての複数のデータの一括印刷について

    パソコンにそれほど詳しくないものです。よろしくお願いします。 以下のようなことが可能かどうか、また、可能であれば方法を教えていただきたいのですが・・・ まず、エクセルのシート2には各店舗のデータがそれぞれ入っています。そしてシート1に表紙を作り、各店舗の店番号をA1セルに入力すと、シート2のデータより売上などをVLOOKUPで引き込むように設定してあります。この方法でやると、印刷の際に一店舗ずつ入力してから印刷をしないといけないのですが、任意の複数店舗の番号を入力するとその店舗分が一括で印刷できるVBAなどは無いでしょうか・・・ 例えば、1~10までの店舗番号があったときに、1、4、6を入力することで3店舗分が印刷されるようにしたいのですが・・・ よろしくお願いします。

  • Csvから1行ずつ変数に格納するには;

    いつもお世話になっています。 次のようなcsvファイルがあります。 会員番号,パスワード,データ1,データ2,データ3 1234567,1111,1970/1/1,1990/4/1,A 1111111,1,1960/1/1,1985/4/1,AB ・ ・ ・ このcsvファイルをExcelのVBAで次のようなコードで読みとろうとしています。 Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.GetFile("csvファイル名") Set ts = f.OpenAsTextStream(1, -2) ssk = ts.readline readlineは1行だけ読み込むと覚えているのですが、なぜか変数sskにはすべての行が連結された状態で格納されてしまいます。 2回目以降のreadlineでは「ファイルにこれ以上データがありません。」と出ます。何か根本的に間違っているのでしょうか;; このようなcsvファイルを、正しく1行ずつ変数に格納する方法にはどのようなものがありますでしょうか。 よろしくお願いします。

  • 検索方法について

    マクロの記述方法? Sub データの検索()        Dim myRange As Range Set myRange = Range("範囲").Find(what:=Range("セル").Value LookIn:=xlValues) これで(セル)と同じ値を持つセルを検索できるんですが、    If Not myRange Is Nothing Then ↑だった場合 見つかったセルの終端セルのひとつ右のセルを取得して ↑このマクロ記述がどうやってもできません・・・ どうすればよいのでしょうか? ちなみに違うシートから範囲を決めることって可能でしょうか? (シート1にユーザーフォームを起動させるボタンあり) (シート1のA1のセルと同じデータをシート2のデータから検索したい) ぐちゃぐちゃですがわかる方いますでしょうか・・・?

  • 悩んでくれる方募集中!(コード掲載)

    いままで売掛一覧シートの「A列」のランダムな位置に数字の[ 1 ]を数カ所入力し、列を選択した場合その「列」に入っているデーターを納品書シートにあてはめて印刷しておりました。(下記コード使用) ------------------------------------------------------------- Sub 納品書印刷() Dim Sheet1 As Worksheet Dim Sheet2 As Worksheet Set Sheet1 = ThisWorkbook.Worksheets("売掛一覧") Set Sheet2 = ThisWorkbook.Worksheets("納品書") Dim baseRow As Long ' 4行目から、2列目(日付)が空になるまでループ baseRow = 4 Do While (Sheet1.Cells(baseRow, 2).Value <> "") '1列目(A列)に数字の1が入っていた時のみ印刷 If (Sheet1.Cells(baseRow, 1).Value = 1) Then ' P2 に 2列目の値を代入 ' O3 に 3列目の値を代入等 Sheet2.Range("P2").Value = Sheet1.Cells(baseRow, 2).Value Sheet2.Range("O3").Value = Sheet1.Cells(baseRow, 3).Value Sheet2.Range("O12").Value = Sheet1.Cells(baseRow, 4).Value Sheet2.Range("W8").Value = Sheet1.Cells(baseRow, 5).Value Sheet2.Range("W11").Value = Sheet1.Cells(baseRow, 6).Value Sheet2.Range("B15").Value = Sheet1.Cells(baseRow, 7).Value Sheet2.Range("Q15").Value = Sheet1.Cells(baseRow, 8).Value Sheet2.Range("H15").Value = Sheet1.Cells(baseRow, 9).Value Sheet2.Range("I15").Value = Sheet1.Cells(baseRow, 10).Value Sheet2.Range("J15").Value = Sheet1.Cells(baseRow, 11).Value ' 印刷プレビュー Sheet2.PrintPreview End If '次の行 baseRow = baseRow + 1 Loop Set Sheet2 = Nothing Set Sheet1 = Nothing End Sub ----------------------------------------------------------------  ここからが本題なのですが、先ほど数字の1を入れるA列の[ 1 ]の他に数字の[ 2 ]と[ 3 ]も入れたときには下記のようにデーターを移動したいのです。 数字の[ 2 ]を入れた場合は、 Sheet2.Range("B16").Value = Sheet1.Cells(baseRow, 7).Value Sheet2.Range("Q16").Value = Sheet1.Cells(baseRow, 8).Value Sheet2.Range("H16").Value = Sheet1.Cells(baseRow, 9).Value Sheet2.Range("I16").Value = Sheet1.Cells(baseRow, 10).Value Sheet2.Range("J16").Value = Sheet1.Cells(baseRow, 11).Value 数字の[ 3 ]を入れた場合は、 Sheet2.Range("B17").Value = Sheet1.Cells(baseRow, 7).Value Sheet2.Range("Q17").Value = Sheet1.Cells(baseRow, 8).Value Sheet2.Range("H17").Value = Sheet1.Cells(baseRow, 9).Value Sheet2.Range("I17").Value = Sheet1.Cells(baseRow, 10).Value Sheet2.Range("J17").Value = Sheet1.Cells(baseRow, 11).Value 上記のよに印刷したいのです。[1]を入力の場合はLoop機能も使用して今まで通り使用して、[ 2 ]と[ 3 ]はLoopさせたくありません。 このようなわがままな件ですが お付き合いの程よろしくお願いいたします。

  • VLOOKUPとVBAを使っての複数のデータの一括印刷について

    パソコンにそれほど詳しくないものです。よろしくお願いします。 以下のようなことが可能かどうか、また、可能であれば方法を教えていただきたいのですが・・・ まず、エクセルのシート2には各店舗のデータがそれぞれ入っています。そしてシート1に表紙を作り、各店舗の店番号をA1セルに入力すと、シート2のデータより売上などをVLOOKUPで引き込むように設定してあります。この方法でやると、印刷の際に一店舗ずつ入力してから印刷をしないといけないのですが、任意の複数店舗の番号を入力するとその店舗分が一括で印刷できるVBAなどは無いでしょうか・・・ 例えば、1~10までの店舗番号があったときに、1、4、6を入力することで3店舗分が印刷されるようにしたいのですが・・・ よろしくお願いします。

  • 1つのセル内で区切られているデータの変換について

    他のEXCELに関するサイトでもお聞きしているのですが、 EXCELで出来るのかわからないのですが知っている方がいらっしゃれば教えてください。 1つ目のシートの列データとして、例えば、 セルA1に、所属ID セルB1に、1;2;3;4;5;6;7とセミコロンで続けられたデータがあるとします。 2つ目のシートには下記のような所属情報のデータ(マスタのようなもの)があるとします。 セルA1に、1 セルB1に、総務 セルA2に、2 セルB2に、経理 セルA3に、3 セルB3に、人事 : 1つ目のシート内の1;2;3;4;5;6;7のデータをわかり易いようにマスタにある総務;経理;人事などのようなデータへ変換させることは出来るのでしょうか? ============================================== 結果イメージ、1つ目のシートのセルB1の内容 (現在)1;2;3;4;5;6;7 (変換後)総務;経理;人事・・・ ============================================== すみませんが、よろしくお願いします。