Excel VBA質問箱 IV

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

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


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

【79544】Re:基準日の変更
質問  T–K  - 17/12/24(日) 7:28 -

引用なし
パスワード
   休みの日に注文が入る場合休みに納品ができないため、直前の稼働日に納品します。それを納品するための加工するリードタイムを踏まえた日を求めたいですが現状求めた値が稼働日ならいいのですが休みの日になってしまいます説明がわかりにくく申し訳ありません。
・ツリー全体表示

【79543】Re:基準日の変更
発言  γ  - 17/12/24(日) 1:16 -

引用なし
パスワード
   何をされたいのかさっぱり分かりません。
具体的な例で説明してください。
・ツリー全体表示

【79542】基準日の変更
質問  T-K  - 17/12/24(日) 0:46 -

引用なし
パスワード
   いつも利用させていただいています。


稼働日 稼働日 稼働日 休み 休み 休み
 100      ←100    ←100(基準日)

基準日が休みに数量が入力されていると仮定して直前の稼働日に基準日
を変更しさらにきめられた日数を前にした日にちを求めたい
のですが求めたところが稼働日だったり休みの時があるため、
日にちが安定して出力されません
どういう処理をしたら処理できるか教えてください。
ユーザー定義関数をつかったサンプルがあったので少しだけ変更して
見ましたが、最後シリアル値を利用して差引しているだけなので
休みは省きたいのですができません。
できればこれを少し変えた方法で処理ができればいいのですが・・・・
ご教授のほどよろしくお願いします。

Function myDay(stDay As Range, myVal As Long, myAry As Range) 'stDay=納期 ,myVal=リードタイム,MyAry=定休日データ
Dim i As Long, j As Long, K As Long '変数 iをLong型 jをLong型に宣言
i = 1 '変数 iに1を代入
K = 0


Do Until j = myVal 'リードタイムが0まで繰り返し処理


 If WorksheetFunction.CountIf(myAry, stDay) = 1 And WorksheetFunction.CountIf(myAry, stDay - i) = 0 Then
 
 myDay = stDay - i - (j + K + 1)


j = j - 1
K = K + 1


Else

If WorksheetFunction.CountIf(myAry, stDay - i) = 0 Then 'Countif関数で、
myDay = stDay - i


j = j - 1


End If
End If


  i = i + 1

Loop
End Function
・ツリー全体表示

【79541】Re:vbaのユーザーフォームについて
発言  マナ  - 17/12/15(金) 18:17 -

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

同じ質問をされた方がいて、解決間近です。
ht tp://www.excel.studio-kazu.jp/kw/20171214133614.html
・ツリー全体表示

【79540】vbaのユーザーフォームについて
質問  めめ  - 17/12/15(金) 12:03 -

引用なし
パスワード
   複数のユーザーフォームの背景色を変更するために、標準モジュールですべてのフォームを対象に背景色を変更するコードを書きたいのですがよくわかりません。
object.BackColor = colorのobject部分を作成したユーザーフォーム全てにしたいのですが、一つ一つフォーム名を指定するものしか見つけることができませんでした。
・ツリー全体表示

【79539】Re:excelの指定
お礼  kmk2201  - 17/12/12(火) 17:24 -

引用なし
パスワード
   マナさま

ご指摘ありがとうございます。
勉強になりました。


▼マナ さん:
>▼kmk2201 さん
>
>同じ質問をされた方がいて、すでに解決済みです。
>
>ht tp://excelfactory.net/excelboard/excelvba/excel.cgi?mode=all&namber=183964&rev=0
・ツリー全体表示

【79538】Re:【VBA】ランダムな指定範囲のソートに...
お礼  エクセル(自称)中級者  - 17/12/12(火) 12:04 -

引用なし
パスワード
   BJさん

レス、ありがとうございます。
ヒントだけでも十分で、無事自分の行いたい事が出来ました!

ありがとうございました。
・ツリー全体表示

【79537】Re:【VBA】ランダムな指定範囲のソートに...
発言  BJ  - 17/12/12(火) 9:14 -

引用なし
パスワード
   ヒントだけになるけど。

Rw = Selection.EntireRow.Address(0, 0) '選択したセルの行
Rows(Rw).Select

SrtkeyAd = Rows(Rw).Columns(2).Address(0, 0) '選択したセルの行のB列
'Range(SrtkeyAd).Select
MsgBox "ソートするキーの範囲は、" & SrtkeyAd
・ツリー全体表示

【79536】【VBA】ランダムな指定範囲のソートにつ...
質問  エクセル(自称)中級者  - 17/12/11(月) 23:29 -

引用なし
パスワード
   幾ら調べても分からない為、こちらで質問させて頂きます。

Excel2016です。
シート上にボタンを配置し、クリック1回で並べ替えをしたいと思っています。
困っているのが、並べ替えの指定範囲が毎回違うという事です。
マクロの記録で行うと以下のコードが作成されます。

1 Rows("7:8").Select
2 ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
3 ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("B7:B8"), _
4   SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
5 With ActiveWorkbook.Worksheets("Sheet1").Sort
6   .SetRange Range("A7:Y8")
7   .Header = xlGuess
8   .MatchCase = False
9   .Orientation = xlTopToBottom
10   .SortMethod = xlPinYin
11   .Apply
12 End With

1行目のRowsは毎回変わります。
上記のコードでは「7:8」になっていますが、次は「10:15」だったり、次は「17:30」だったりします。
その為3行目と6行目のRange範囲も変わります。
只、6行目の「A*:Y*」とB列という事だけは固定です。

結果行いたい作業が、
 1.セルを行で選択
 2.ボタンで並べ替え
だけになるのですが、セルを選択した場所の取得が中々上手く出来ません。

良い解決策がお分かりであれば、ご助力ください。
宜しくお願い致します。
・ツリー全体表示

【79535】Re:excelの指定
発言  マナ  - 17/12/11(月) 17:44 -

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

同じ質問をされた方がいて、すでに解決済みです。

ht tp://excelfactory.net/excelboard/excelvba/excel.cgi?mode=all&namber=183964&rev=0
・ツリー全体表示

【79534】excelの指定
質問  kmk2201  - 17/12/11(月) 16:40 -

引用なし
パスワード
   特定のフォルダ(FFF)の場所に「リスト」という名前が付いたexcelAがあります。
フォルダ例)S:\AAA\BBB\CCC\DDD\FFF
excel例)あああリストいいい.xlsx
今、このexcelAと別のexcelBが開いていてexcelBがアクティブになっています。
この場合にaxcelAをアクティブにして閉じるvbaを教えてください。
条件として名前には「リスト」は必ず付くのですが、その前後は毎回変化します。前の言葉は変わらないこともあります。
(例:あああリストいいい.xlsx、あああリストううう.xlsx。。。。。)

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

【79533】Re:新しいファイルを作成したい!
発言  マナ  - 17/11/25(土) 14:33 -

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

面倒なので深く考えていませんが。

1)シート名は日付でないと駄目ですか。
ブック名で区別できるのだから、共通にしたほうがよいです。

2)一番大変な操作は、数式編集でしょうか。

>数式を手動で打ち替えております。

「リンクの編集」という機能があります。

3)手作業がいやなら。
「マクロの記録」を実行し、それを叩き台にするとよいです。
・ツリー全体表示

【79532】Re:新しいファイルを作成したい!
発言  りさ E-MAIL  - 17/11/25(土) 14:13 -

引用なし
パスワード
   ▼マナ さん:
年間通して誰かは出勤してるので記入しない日はないです。。
あと月初めなんですが今月から開始したのでまだなんとも泣

大変というわけではないですが
今後、この作業を継続するとなると自動で出来るに越したことはないと思いましたので質問させてもらいました。。
・ツリー全体表示

【79531】Re:新しいファイルを作成したい!
発言  マナ  - 17/11/25(土) 13:31 -

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

休日明けとか、月初めの場合はどうしているのですか。
手作業はそんなに大変ですか。
・ツリー全体表示

【79530】新しいファイルを作成したい!
発言  りさ E-MAIL  - 17/11/25(土) 13:01 -

引用なし
パスワード
   毎日、日にち毎にデータを打ち込んでいます。
例えば26日.xlsmそのファイルの中に前日比を出すために
=IF(ISBLANK(I4),″″,(I4-´C:\Users\〇〇Desktop\記録\H.29.11\[25日.xlsm]25日´I4))という数式が入っています。セルの範囲はI4からI140です。

現在、新しいファイルを作る場合は既存のファイルをコピーし
ファイル名、シート名、数式を手動で打ち替えております。
vbaで新しいファイルをコピーしファイル名、シート名、数式を変更(日にちを-1日?)方法はありますでしょうか。。

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

【79529】Re:集約データの参照元ブック名を取得し...
発言  γ  - 17/11/25(土) 12:45 -

引用なし
パスワード
   申し訳ありません。私の誤認でした。
シートモジュール記載ということをすっかり失念していました。

じゃあ、タイプミスの
Dim ブック As Worknook
だけですねww

質問者さん、折角質問されたのだから、
きちんと成果をあげてほしいですね。
・ツリー全体表示

【79528】Re:集約データの参照元ブック名を取得し...
発言  マナ  - 17/11/25(土) 12:23 -

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

いつもフォローありがとうございます。

>ワークシートの指定が漏れていて

シートに置かれたボタンと思い込んでいましたので省略しましたが、
ユーザーフォームからだとまずいことになりますね。

最初のインデント等のアドバイスもそうですが、
よっちゃんさんにとって、とても重要なことなので
まだ見てくれているとよいのですが。
・ツリー全体表示

【79527】Re:集約データの参照元ブック名を取得し...
発言  γ  - 17/11/25(土) 11:23 -

引用なし
パスワード
   よくみたら、提示されたコードは完成品というより
考え方を示す参考出品のようでした。
ワークシートの指定が漏れていて、仕様を満たしていなかったですね。
転記先が、開いたブックになってしまっています。
質問者さん、気づいていますか? 修正しておいてください。
・ツリー全体表示

【79526】Re:集約データの参照元ブック名を取得し...
発言  γ  - 17/11/25(土) 8:08 -

引用なし
パスワード
   老婆心ながらひとこと。

> 自分の思っていたものと相違なかった
ということではまだまだですね。
回答からきちんと吸収するようにしたほうがよいと思います。

(1)
きちんとインデントを付けましょう。
コードを書くにあたっての一丁目一番地です。
そういう見にくい書き方は、ご自分にハンディキャップを与えているようなものです。
回答者さんのコードの書き方をよく参考にしてください。
 
(2)
CopyPasteは一行でコンパクトに書けます。
   Sheets("入力用").Range("C73:Q102").Copy
   ThisWorkbook.Activate
   Range("A65536").End(xlUp).Offset(5, 0).Select
   ActiveSheet.Paste
のような Selectを多用する書き方から早く脱出したほうがよいでしょう。

(3)
Set ブック = Workbooks.Open(フォルダ & buf)
のように、変数を効果的に使用した見通しの良いコードの書き方を学んで下さい。
・ツリー全体表示

【79525】Re:集約データの参照元ブック名を取得し...
お礼  よっちゃん  - 17/11/25(土) 0:12 -

引用なし
パスワード
   お忙しい中、ご対応頂きありがとうございました。
自分の思っていたものと相違なかったので、
安心しました。
またの機会によろしくお願いいたします。

遅い時間までありがとうございました。
・ツリー全体表示

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