Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


98 / 3841 ページ ←次へ | 前へ→

【80509】Re:EXCEL フォルダ内のファイルを結合す...
発言  マナ  - 19/2/23(土) 18:51 -

引用なし
パスワード
   ▼xyz さん:

>左様です。単純にそこに範囲を指定すればよろしいのでしょうか?

はい。それでもよいです。
試していないのですか?

 
・ツリー全体表示

【80508】Re:EXCEL フォルダ内のファイルを結合す...
発言  xyz  - 19/2/23(土) 15:19 -

引用なし
パスワード
   ▼マナ さん:
>▼xyz さん:
>
>>  Range(Cells(read_row, 1), Cells(input_end_row, read_col)).Copy
>
>↑ここで、K13:AI14 をコピーしたいということでしょうか?

左様です。単純にそこに範囲を指定すればよろしいのでしょうか?
・ツリー全体表示

【80507】Re:EXCEL フォルダ内のファイルを結合す...
発言  マナ  - 19/2/23(土) 12:21 -

引用なし
パスワード
   ▼xyz さん:

>  Range(Cells(read_row, 1), Cells(input_end_row, read_col)).Copy

↑ここで、K13:AI14 をコピーしたいということでしょうか?
・ツリー全体表示

【80506】EXCEL フォルダ内のファイルを結合する方...
質問  xyz  - 19/2/23(土) 11:37 -

引用なし
パスワード
   マクロの事で1件ご教示ください。

Sub フォルダ内のファイルを出力()
 read_folder = Range("B2")
 read_row = Range("C2")
 read_col = Range("D2")
 read_file = Dir(read_folder & "\")
 Do While read_file <> ""
  output_end_row = Sheets("出力").Range("A65536").End(xlUp).Row
  Workbooks.Open read_folder & "\" & read_file
  input_end_row = Range("A65536").End(xlUp).Row
  Range(Cells(read_row, 1), Cells(input_end_row, read_col)).Copy
  ThisWorkbook.Sheets("出力").Activate
  Range("A" & output_end_row + 1).Select
  ActiveSheet.Paste
  Workbooks(read_file).Close
  read_file = Dir()
 Loop
End Sub

あるサイトを参考に、フォルダ内の複数のExcelファイルから、1つの集計表にデータを抽出したいと考え、上記のモジュールでマクロを作ってみました。
上記の式では、集計表の出力表に「読み込み始める行」と「読み込む列数」で関数を組んでると思われますが、
例えば、「13行目から14行目」と「K列目からAI列目」のみを読み込むようにする方法はありますでしょうか?

読み込む行と列の範囲を指定して、特定の項目だけ読み込みしたいのですが、どうしてもできませんでした。
よろしくお願いいたします。
・ツリー全体表示

【80505】Re:シート名と同じ文字列のセル行位置を...
発言  マナ  - 19/2/22(金) 23:48 -

引用なし
パスワード
   ▼狛ちゃん さん:

>引数は間違いないと思います。

Matchの部分にカーソルをおき、F1キーを押してみてください。
わたしのヘルプでは、引数は3個です。
・ツリー全体表示

【80504】Re:シート名と同じ文字列のセル行位置を...
質問  狛ちゃん E-MAIL  - 19/2/22(金) 23:27 -

引用なし
パスワード
   ▼γ さん:
>再度書きます。
>>引数の数もそれでよいのか確認してください。

引数は間違いないと思います。
MATCH関数に対応するVBの関数は何でしょうか?
教えて頂ければ幸いです。
・ツリー全体表示

【80503】Re:フォントの反映【エクセルからアウト...
発言  マナ  - 19/2/22(金) 22:47 -

引用なし
パスワード
   ▼aymie さん:

アウトルックのことは全くわかりませんので
検索してみました。

ht tps://www.ka-net.org/blog/?p=8550
・ツリー全体表示

【80502】フォントの反映【エクセルからアウトルッ...
質問  aymie  - 19/2/22(金) 9:53 -

引用なし
パスワード
   初めて、投稿させて頂きます。
最近VBAを始めて、メールの一括送信のマクロを作成しています。

色々な方からの投稿を参考にしながら、無事にエクセルからアウトルックへの連動と一括送信ができるようになりました。
エクセルにメール本文のブックと、配信先名簿のブックの2ブックからアウトルックへ連携させるような内容です。

ただ、エクセルでフォント(太字、下線、文字色など)をいじっても、アウトルックの本文にまではそのフォントが反映されません。

エクセルやアウトルック側への設定で調整ができるのか、マクロに入力していくしかないのか…

初歩的な質問だったら申し訳ありませんが、ご教授頂けますと幸いです。
よろしくお願いします。
・ツリー全体表示

【80501】Re:シート名と同じ文字列のセル行位置を...
発言  γ  - 19/2/21(木) 22:35 -

引用なし
パスワード
   再度書きます。
>引数の数もそれでよいのか確認してください。
・ツリー全体表示

【80500】Re:シート名と同じ文字列のセル行位置を...
発言  狛ちゃん E-MAIL  - 19/2/21(木) 22:26 -

引用なし
パスワード
   ▼γ さん:
>Matchはワークシート関数ですよね。
>でしたら、
>k = WorksheetFunction.Match(・・・
>とするのでは?
>引数の数もそれでよいのか確認してください。

早速の回答有難うございます。
引数の数が一致していませんとのエラーメッセージが表示されました。
・ツリー全体表示

【80499】Re:シート名と同じ文字列のセル行位置を...
発言  γ  - 19/2/21(木) 21:37 -

引用なし
パスワード
   Matchはワークシート関数ですよね。
でしたら、
k = WorksheetFunction.Match(・・・
とするのでは?
引数の数もそれでよいのか確認してください。
・ツリー全体表示

【80498】シート名と同じ文字列のセル行位置を取得...
質問  狛ちゃん E-MAIL  - 19/2/21(木) 20:29 -

引用なし
パスワード
     With Activesheet
     sheetName = ActiveSheet.Name
     k = Worksheet.Match(sheetName, activesheet.Range("Q8:Q14"), False, 0)
  
  End With

と記述しましたら、オブジェクトが有りませんとのエラーメッセージがでます。
この場合のオブジェクトの意味が理解できていません。
アドバイスお願いします。
・ツリー全体表示

【80497】Re:検索フォームの動作について
お礼  tarutaru  - 19/2/21(木) 12:09 -

引用なし
パスワード
   マナ様

はい。マナ様のおっしゃるとおりの事でした。
アドバイスを基に色々と試したところ、私の思っている動作が出来ました。

ありがとうございました。

VBAを少しずつ勉強していきたいと思います。

今後ともよろしくお願いいたします。
・ツリー全体表示

【80496】Re:検索フォームの動作について
発言  マナ  - 19/2/20(水) 19:29 -

引用なし
パスワード
   ▼tarutaru さん:

>ただ、入社年月日を入力すると今現在の年月日から、逆算して勤務年数(年カ月)が算出できる計算式を一覧表のセルに入れているのですが(在職者の場合退職していないので現在進行形でよい)、もし退職年月日を入力した時点で、その時点の勤務年数(年カ月)に変更(止める)させるためには、セル自体にそのような計算式があるのか?あるいはIf構文等でプロシージャを「sheet」に組むのか?かがわかりません。

質問が理解できていませんが、
こんな感じの数式にするだけでは?

=IF(退職年月日="",TODAY()-入社年月日,退職年月日-入社年月日)
・ツリー全体表示

【80495】Re:検索フォームの動作について
お礼  tarutaru  - 19/2/19(火) 22:54 -

引用なし
パスワード
   マナ様

アドバイスいただいた、「2)リストボックスから丸ごと転記する方法」で、自分の思っていたフォームの動作ができました。
大変ありがとうございました。助かりました!

ただ、入社年月日を入力すると今現在の年月日から、逆算して勤務年数(年カ月)が算出できる計算式を一覧表のセルに入れているのですが(在職者の場合退職していないので現在進行形でよい)、もし退職年月日を入力した時点で、その時点の勤務年数(年カ月)に変更(止める)させるためには、セル自体にそのような計算式があるのか?あるいはIf構文等でプロシージャを「sheet」に組むのか?かがわかりません。
申し訳ありませんが、ヒントをいただけないでしょうか?

よろしくお願いいたします。
・ツリー全体表示

【80494】Re:分類が変わる毎に規則正しく空白行を...
回答  ピンク  - 19/2/19(火) 10:32 -

引用なし
パスワード
   参考に
Sub Test()
  Dim LastRow As Long, i As Long
  
  LastRow = Cells(Rows.Count, "A").End(xlUp).Row
  For i = LastRow To 2 Step -1
    If Cells(i, "A").Value <> Cells(i - 1, "A").Value And _
        Cells(i, "B").Value <> Cells(i - 1, "B").Value Then
      Cells(i, "A").Resize(2).EntireRow.Insert Shift:=xlDown
    ElseIf Cells(i, "A").Value <> Cells(i - 1, "A").Value Or _
        Cells(i, "B").Value <> Cells(i - 1, "B").Value Then
      Cells(i, "A").EntireRow.Insert Shift:=xlDown
    End If
  Next
End Sub
・ツリー全体表示

【80493】Re:カレンダーに予定を自動入力したい
発言  マナ  - 19/2/18(月) 17:46 -

引用なし
パスワード
   ▼VBA初心者 さん:

申し訳ありませんが1月だけのコードで議論させていただけませんか。
・ツリー全体表示

【80492】Re:オートフィルターの可変できる絞り込み
お礼  VBA勉強始めました  - 19/2/18(月) 16:05 -

引用なし
パスワード
   ピンク様

ありがとうございます!
教えて頂いたコードで無事動きました!

もっと良い参考書を購入してさらに勉強したいと思います。
本当にありがとうございました。


▼ピンク さん:
>>InputBoxで入力した数値以外にフィルターをかけたい場合は
>>Criteria1:="<>Autofilter"だとエラーになるのですが
>>どのようにすれば○以外でフィルターができますか?
>
>n値、以外は
>Dim n As Long
>n = InputBox("抽出したい大分類コードを入力してください。")
>ActiveSheet.Range("A1").AutoFilter _
>  Field:=9, Criteria1:="<>" & n
・ツリー全体表示

【80491】Re:オートフィルターの可変できる絞り込み
発言  ピンク  - 19/2/18(月) 14:28 -

引用なし
パスワード
   >InputBoxで入力した数値以外にフィルターをかけたい場合は
>Criteria1:="<>Autofilter"だとエラーになるのですが
>どのようにすれば○以外でフィルターができますか?

n値、以外は
Dim n As Long
n = InputBox("抽出したい大分類コードを入力してください。")
ActiveSheet.Range("A1").AutoFilter _
  Field:=9, Criteria1:="<>" & n
・ツリー全体表示

【80490】Re:オートフィルターの可変できる絞り込み
発言  VBA勉強始めました  - 19/2/18(月) 14:13 -

引用なし
パスワード
   ピンク様

色々教えて頂き、ありがとうございます。
私の参考書では「変数はあとで見てもわかるように」とあったので
分かりやすくしたのですが好ましくないのですね・・・
すぐにご教授頂いた通り、修正しました。


▼ピンク さん:
>>  Autofilter = InputBox("抽出したい大分類コードを入力してください。")
>
>Autofilter を変数に使用するのは好ましくないので
>
>Dim n As Long
>n = InputBox("抽出したい大分類コードを入力してください。")
>ActiveSheet.Range("A1").Autofilter _
>  Field:=9, Criteria1:=n
・ツリー全体表示

98 / 3841 ページ ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free