Excel VBA質問箱 IV

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

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


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

【79701】Re:稼働管理のExcel化(ブック保護等)
発言  マナ  - 18/3/12(月) 20:49 -

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

承認したら、該当セルをロックするのではだめなのですか?

1)シート保護解除
2)承認と入力
3)セルをロック
4)シート保護
・ツリー全体表示

【79700】Re:テーブル名の一括変更
発言  γ  - 18/3/12(月) 20:48 -

引用なし
パスワード
   例文のとっかかりです。ヘルプで確認して下さい。

Sub test()
  Dim lst As ListObject
  For Each lst In ActiveSheet.ListObjects
    Debug.Print lst.Name
  Next
End Sub
・ツリー全体表示

【79699】Re:テーブル名の一括変更
発言  マナ  - 18/3/12(月) 20:41 -

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

>テーブル名の一括変更

テーブル名を変えるために、名前をループしないとだめなのですか。
最終的に、何がしたいか説明できますか。

Sub test()
  Dim ws As Worksheet
  Dim t As ListObject
  
  For Each ws In ActiveWorkbook.Worksheets
    For Each t In ws.ListObjects
      MsgBox t.Name
    Next
  Next
      
End Sub
・ツリー全体表示

【79698】テーブル名の一括変更
質問  AAA  - 18/3/12(月) 16:39 -

引用なし
パスワード
   下記は、名前の定義の書出しと登録のマクロですが
テーブル名は、書きだされません。
テーブル名も同じようにすることは可能でしょうか?

どなたか宜しくお願い致します。


Sub NamesListsOut()
'名前定義書き出し
Dim i As Integer
With ActiveWorkbook
For i = 1 To .Names.Count
 Cells(i, 1).Value = .Names(i).Name
 Cells(i, 2).Value = "'" & .Names(i).RefersToLocal
Next i
End With
End Sub

'--------------------------------------------------
Sub NamesListsIn()
'名前定義登録
Dim n As Name
Dim i As Integer

With ActiveWorkbook

'一旦名前定義を削除
For Each n In .Names
 n.Delete
Next n
'登録
On Error Resume Next
For i = 1 To Range("A65536").End(xlUp).Row
  .Names.Add Cells(i, 1).Value, Cells(i, 2).Value
Next i
On Error GoTo 0
End With
End Sub

'--------------------------------------------------
・ツリー全体表示

【79697】Re:稼働管理のExcel化(ブック保護等)
質問  りった  - 18/3/12(月) 12:45 -

引用なし
パスワード
   回答ありがとうございます。

> 悪意あるユーザーを前提にし、それに対抗するということなら、
> Excelは限界があるように思います。
おっしゃる通りと思います。
ただ、現状の紙運用でも偽造は可能(※1)なので、
なんとなくの対策(※2)が出来ていればあとは作業者の良心に期待します。

※1 消せるボールペンで書いて、捺印後に改ざんする等
※2 一般ユーザ(マクロは記録したのをパラメータ変えたり、
  forで回したりする程度)がやぶれない程度の対策。

> 例えば、マクロを前提にするでしょうが、
> マクロ無効で開くことも可能です。
> それへの対応策も考える必要があります。
はい。そこを考えています。
VERRY HIDDENシートに、捺印時の時刻を保存しておき、
自社で集計する際に改ざんされていないかチェックすれば
とりあえずの対策にはなるか、それでは大穴があいているかを知りたいです。


> パスワードすら脆弱性があるということも聞きます。
そこはマイクロソフトのせいと言って逃げます。

自社上司も、毎月のチェック作業にうんざりしているので、
多少のことには目をつぶる雰囲気なのです。
とはいえザルではまずいのです。
・ツリー全体表示

【79696】Re:稼働管理のExcel化(ブック保護等)
お礼  りった  - 18/3/12(月) 12:27 -

引用なし
パスワード
   回答ありがとうございます。


> タイムシートのファイルの方にマクロを組み込みたくない(マクロの有効・無効によって挙動が代わっては困る)ということであれば、
いえ。タイムシートがマクロ有りファイルになること自体に問題は有りません。

作業者が勝手に捺印できないように、捺印マクロは作業者が勝手に実行出来ないようにする必要が有ります。
・ツリー全体表示

【79695】Re:稼働管理のExcel化(ブック保護等)
発言  亀マスター  - 18/3/11(日) 12:15 -

引用なし
パスワード
   タイムシートのファイルの方にマクロを組み込みたくない(マクロの有効・無効によって挙動が代わっては困る)ということであれば、以下のようなものを応用すればなんとかなる・・・かも。

ht tp://www.geocities.jp/chiquilin_site/data/050530_search.html

試してみようとしましたが、捺印の数だけ名前の定義が増える方法しか思いつきませんでした。
・ツリー全体表示

【79694】Re:色つきを立て棒表示にしたい
回答  γ  - 18/3/10(土) 15:12 -

引用なし
パスワード
   条件付き書式では太い線が引けません。
仕様のようです。
そこをマクロでなんとか、ということかもしれないが、
仕様の範囲外のことをマクロに求めても無駄です。

マクロ記録でできないことを承知で質問されたようですが、
そうしたことは質問の最初に書くべきです。
互いに時間の無駄になります。

そもそも太い罫線が、背景色よりも目立つとは考えられません。
質問のための質問のようで、そうした質問は歓迎されません。

どうしても、太罫線が必要なら、
changeイベントプロシージャでセル内容が変更されたとき、
対応することになるでしょう。
・ツリー全体表示

【79693】Re:稼働管理のExcel化(ブック保護等)
発言  γ  - 18/3/10(土) 15:04 -

引用なし
パスワード
   望まれる回答ではありませんが、少しだけ。

悪意あるユーザーを前提にし、それに対抗するということなら、
Excelは限界があるように思います。
例えば、マクロを前提にするでしょうが、
マクロ無効で開くことも可能です。
それへの対応策も考える必要があります。
パスワードすら脆弱性があるということも聞きます。
・ツリー全体表示

【79692】Re:セルの入力
お礼  AAA  - 18/3/9(金) 14:54 -

引用なし
パスワード
   カリーニン様
りった様

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

【79691】Re:セルの入力
発言  Jaka  - 18/3/9(金) 14:35 -

引用なし
パスワード
   どこつけようか迷ったけれど・・・。

計算方法だけ。

MsgBox Application.Evaluate(Range("B1").Value)
・ツリー全体表示

【79690】Re:セルの入力
発言  カリーニン  - 18/3/9(金) 14:01 -

引用なし
パスワード
   りったさんのコードの
Range("A1")
の部分を
Range("C1")
と書き換えて試してみてください。

なお、40%は「0.4」と入力してください。
・ツリー全体表示

【79689】Re:セルの入力
発言  AAA  - 18/3/9(金) 10:15 -

引用なし
パスワード
   カリーニン様

返信ありがとうございます。

シートモジュールに張り付けてます。

でも、B1に計算されないです。
・ツリー全体表示

【79688】Re:セルの入力
発言  カリーニン  - 18/3/9(金) 9:32 -

引用なし
パスワード
   横から失礼します。

コードをシートモジュールに張り付けてますか?
標準モジュールとかに張り付けてませんか?
・ツリー全体表示

【79687】Re:セルの入力
質問  AAA  - 18/3/9(金) 8:56 -

引用なし
パスワード
   りった様

返信ありがとうございます。

コードを貼り付けたのですが

計算できませんでした。

やり方を間違ってるのでしょうか?
・ツリー全体表示

【79686】Re:セルの入力
回答  りった  - 18/3/8(木) 9:48 -

引用なし
パスワード
   こんな感じですか?

Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Target, Range("A1")) Is Nothing Then
    If Range("A1") = "" Then
      Range("B1") = ""
    Else
        Range("B1").FormulaR1C1 = "=RC[-1]*RC[1]"
    End If
  End If
End Sub
・ツリー全体表示

【79685】稼働管理のExcel化(ブック保護等)
質問  りった  - 18/3/8(木) 9:40 -

引用なし
パスワード
   派遣業務を担当する社員の稼働管理の自動化を検討しています。
現状、作業者(客先に派遣契約で常駐)がタイムシートに時刻を記載した後、(客先の)課長に捺印してもらっています。
単純にエクセルにオートシェイプを置いて捺印の代わりとした場合、あまりにも偽造しやすいです。
よって、担当者がタイムシートに対して出来る操作を時刻入力だけに限定し(ブックの保護)、
捺印用のXLSMファイル(※1)で課長に捺印してもらおうと思います。
捺印時の時刻をvery hiddenシートに保持しておき、時刻が書き換えられたら捺印を消す考えです。

保護系のツールはほとんど作ったことが無く、勝手が分からないので、
気を付けるべきポイントが有りましたらご教示ください。
また、もっといい方法が有ればご教示ください。

※1:捺印用のXLSMファイルで捺印操作をすると、タイムシートの捺印関数が呼び出される。
  その際引数としてパスワード(保護パスワードとは別)を渡す。
  課長が捺印パスワードを意識することはない。
  捺印用ファイルは極秘とし、作業者には見せない。
・ツリー全体表示

【79684】セルの入力
質問  AAA  - 18/3/7(水) 11:16 -

引用なし
パスワード
   質問させていただきます。

A1セルに1000と入力されています。
B1セルにA1*C1と入力されています。

C1セルに40%と入力するとB1セルは、A1*C1を計算し、
C1セルが未入力なら
B1セルに入力することができるようにすることは、
可能でしょうか?

説明が下手ですいません。
宜しくお願い致します。
・ツリー全体表示

【79683】Re:オプションボタンによるテキストボッ...
発言  マナ  - 18/3/6(火) 21:15 -

引用なし
パスワード
   ▼ボタン さん:
OptionButton1の値がTrueにしたら
  Label1のCaptionを部署名に変更
  TextBox1の転記先ををC列に変更
  Label2のCaptionを社員番号に変更
  TextBox2の転記先ををD列に変更

OptionButton2の値がTrueにしたら
  Label1のCaptionを会社名に変更
  TextBox1の転記先ををE列に変更
  Label2のCaptionを役職名に変更
  TextBox2の転記先ををF列に変更

のようにできないかと考えています。

また場合によっては、TextBoxのかわりに、
ComboBoxを使うのも便利かもしれません。
・ツリー全体表示

【79682】Re:CustomViewsを繰り返してカラー印刷を...
発言  マナ  - 18/3/6(火) 20:53 -

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

わたしは使ったことありませんが
検索してみました。

ht tp://excelwork.info/excel/bookcustomview/
・ツリー全体表示

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