Excel VBA質問箱 IV

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

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


1 / 3831 ページ 前へ→

【82286】Re:検索できるドロップダウン
お礼  名無し  - 24/5/10(金) 12:13 -

引用なし
パスワード
   ▼マナ 様:
レスありがとうございます。
無事動かすことができました。
大変助かりました。
・ツリー全体表示

【82285】Re:検索できるドロップダウン
発言  マナ  - 24/5/9(木) 22:15 -

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

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim r As Range, c As Range
  Dim w, v
  
  Set r = Intersect(Target, Columns(3))
  If r Is Nothing Then Exit Sub
 
  With Worksheets("従業員名簿")
    w = Application.Transpose(.Range("C2", .Cells(Rows.Count, 3).End(xlUp)))
  End With
  
  r.Validation.Delete
 
  For Each c In r
    If c.Row > 2 Then
      If c.Value <> "" Then
        v = Filter(w, c.Value)
        Application.EnableEvents = False
        If UBound(v) = -1 Then
          c.ClearContents
        ElseIf UBound(v) = 0 Then
          c.Value = v
        Else
          c.Validation.Add Type:=xlValidateList, Formula1:=Join(v, ",")
        End If
        Application.EnableEvents = True
      End If
    End If
  Next

End Sub
・ツリー全体表示

【82284】表示列の中央揃えについて
質問  たけ  - 24/5/9(木) 22:02 -

引用なし
パスワード
   A列からJ列中で、チェックボックスとコマンドボタンで表示非表示列を切り替えています。
そこでA〜J列の見出しを「生産作業型式」としたいのですが、チェックボックスで表示にしている列の10行目セルを結合するコードを作りたいです。
例えばB,D,E,G,I列が表示されている場合それぞれの列の10行目を結合してこの中に
「生産作業型式」の文字を中央揃えで表示、チェックボックスで別の列が指定されれば一度中央揃えを戻して再度表示された列の10行目を中央揃えで表示するコードになります。よろしくお願いします。
・ツリー全体表示

【82283】検索できるドロップダウン
質問  名無し  - 24/5/9(木) 7:37 -

引用なし
パスワード
   VBA初心者です。

★youtube.com/watch?v=urNR55Ly5gE&si=BsLig7iB2QudvSqk (★→https://)
こちらの動画を参考に、検索できるドロップダウンリストを1つのセルに作成しました。
(例:セルに「佐藤」と入力すると佐藤太郎と佐藤花子がリストに表示される)
このドロップダウンリストを列全てに設定したいのですが、どのようにしたら良いかわからず、ご教示いただけますと幸いです。

前提
・会社のPCに入ってるExcelが2019のため、FILTER関数などは使用できません
・入力シートのC列にドロップダウンで従業員氏名を入力したいです(下記ではC3セルに適用してますが、C列全てに検索できるドロップダウンを適用したいです)
・従業員名簿シートC列に従業員氏名(フルネーム・漢字)が羅列されています
・従業員氏名は今後追加・削除などを行う予定がありますが、参照を列にしているため問題ないと思われます
・従業員名簿シートJ列(空白列)に検索結果を表示させています
・参考動画ではかな、カナでも検索できるようにしてますが、漢字のみで検索できれば十分です
・また、or・and検索も不要です

・入力シートC3セルにデータの入力規則を設定(リスト)
 =OFFSET(従業員名簿!$J$2,0,0,4)
 ※同姓者が2・3名なので仮で4行表示としてます


___以下、コード_____

Private Sub Worksheet_Change(ByVal Target As Range)

  'C3セルではないので終了
  If Target.Address <> "$C$3"
    Exit Sub
  End If

  '候補を作成
  Call 候補を作成

  '入力された値が候補と一致する場合は、選択されたので終了
  If Worksheets(“入力シート”).Range("C3").Value = Worksheets(“従業員名簿”). Range("J2").Value And _
    Worksheets(“入力シート”).Range("C3").Value <> "" And _
    Worksheets(“従業員名簿”).Range("J3").Value = "" Then
    Exit Sub
  End If

  'プルダウン表示
  Worksheets(“入力シート”). Range("C3").Select
  If Worksheets(“入力シート”). Range("C3").Value <> "" Then
    SendKeys "%{DOWN}"
  End If

End Sub


Public Sub 候補を作成()

  Dim 元の行 As Long
  Dim 先の行 As Long
  Dim 検索文字 As String
  
  
  '現在のプルダウン候補の列をクリア
  Worksheets(“従業員名簿”).Range("J:J").ClearContents
  
  元の行 = 2
  先の行 = 2
  検索文字 = Worksheets(“入力シート”). Range("C3").Value
  
  '大元のデータ終了までループ
  Do Until Worksheets(“従業員名簿”). Cells(元の行, 3).Value = ""
    
    If InStr(Worksheets(“従業員名簿”).Cells(元の行,3).Value,検索文字)>0 Or_
    検索文字 = “” Then
      '該当あり
      Worksheets(“従業員名簿”). Cells(先の行, 10).Value = Worksheets(“従業員名簿”). Cells(元の行, 3).Value
      先の行 = 先の行 + 1
    End If
    
    元の行 = 元の行 + 1
  
  Loop

End Sub
・ツリー全体表示

【82282】Re:シートの中から必要なセルを複数取り...
質問  かずこ  - 24/5/1(水) 14:38 -

引用なし
パスワード
   ▼マナ さん:
>▼かずこ さん:
>
>どんな並び替えなのか全くわかりません。
>とりあえず、たたき台として。
>
>Sub test()
>  Dim srtl As Object
>  Dim c As Range, k As String
>  Dim i As Long, r As Range, n As Long
>  
>  Set srtl = CreateObject("system.collections.sortedlist")
>  
>  For Each c In Columns(1).SpecialCells(xlCellTypeConstants)
>    If c.Value Like "?##-##-#" Then
>      k = c.Value
>      Set srtl(k) = c
>    Else
>      Set srtl(k) = Union(srtl(k), c)
>    End If
>  Next
>  
>  Worksheets.Add
>  For i = 0 To srtl.Count - 1
>    Set r = srtl.getbyindex(i)
>    If r.Count > 1 Then
>      Cells(1).Offset(n).Resize(r.Count).Value = r.Value
>      n = n + r.Count
>    End If
>  Next
>    
>End Sub

ご返信ありがとうございます。
長期間返信を失念していました。

上記のコードを実行したのですが、希望に近い動作ができました。

追加の質問なのですが、上記のコードを全列対象にできますでしょうか?

また?##-##-#の下が空白セルの場合、?##-##-#があるセルをクリアするコードも併せてお願いできますでしょうか。

お手数をおかけしますがよろしくお願いいたします。
・ツリー全体表示

【82281】Selenium Basic VBA でファイルダウンロ...
質問  fujifuji E-MAIL  - 24/4/2(火) 17:48 -

引用なし
パスワード
   elenium Basic VBAの初心者です。
chromeのプロファイルを指定したら
ファイルのダウンロード先が変更できないのですが
なにかいい方法はございますか


Dim driver As New Selenium.WebDriver
Dim myBy As New By
Dim siteURL As String
Dim elm As Selenium.WebElement
Dim sKey As New Selenium.Keys
・ツリー全体表示

【82280】Re:ダブルコーテーション以外の空白は代...
発言  JK  - 24/3/25(月) 23:33 -

引用なし
パスワード
   ??

Range("A3").Value = Empty
・ツリー全体表示

【82279】Re:ダブルコーテーション以外の空白は代...
お礼  shun  - 24/3/11(月) 13:57 -

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

Find("*", , xlFormulas).Row


なるほどです。

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

【82278】Re:ダブルコーテーション以外の空白は代...
発言  マナ  - 24/3/7(木) 19:33 -

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

>""を埋めたセルは0の空文字列なのでCTRL+矢印での空白検索の対象外になります。

Sub test()
  Worksheets.Add
  Range("A3").Value = ""
  Range("A4").Formula = "="""""
  Range("A5").Value = "a5"

  Range("A1").End(xlDown).Select

  MsgBox Columns("A").Find("*", , xlFormulas).Row
  MsgBox Columns("A").Find("*", , xlValues).Row
End Sub
・ツリー全体表示

【82277】ダブルコーテーション以外の空白は代入で...
質問  shun  - 24/3/7(木) 17:21 -

引用なし
パスワード
   IFERROR(Vlookup(A1,シート!A:A,1,0),"")などで、エラーに空白を埋めます。
""を埋めたセルは0の空文字列なのでCTRL+矢印での空白検索の対象外になります。
VBAではEnd(xlDown).Rowなどが正しく動かず、行列数が把握ができません。
accessのようにnullのような空白は埋められますでしょうか。
IFERROR(Vlookup(A1,シート!A:A,1,0),null)的な。
よろしくお願いします。
・ツリー全体表示

【82276】シートの保護
質問  ちるちる  - 24/3/5(火) 10:12 -

引用なし
パスワード
   VBA初心者です。詳しい方ご教授願います。

社員全員(20名)の日報を一つのブックで管理したいため、各シートにクローズボタンを押すと表が非表示になり、オープンボタンを押すとパスワードを入力するボックスが表示され、入力後表が再表示されるように設定したいです。

作成したのは以下のとおりです。
クローズボタンを押すと表が非表示になり、シートの保護を行う。

オープンボタンを押すとパスワード入力ボックスを表示し、表が再表示されるようにしたいです。
よろしくお願いします。


Sub ボタン3_Click()

End Sub
Sub クローズ()
'
' クローズ Macro
'

'
  Columns("A:K").Select
  Selection.EntireColumn.Hidden = True
  ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub


Sub Macro9()
'
' Macro9 Macro
'

'
  ActiveSheet.Unprotect
  Selection.EntireColumn.Hidden = False
End Sub
・ツリー全体表示

【82274】Re:文字列から計算する数式について
発言  マナ  - 24/2/22(木) 22:41 -

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

考え方だけ。
想定される全パターンの置換を追加してください。

Function conv_cm3(f As String) As Double
  f = Replace(f, "mm", "*0.1^3")
  f = Replace(f, "inches", "*2.54^3")
  f = Replace(f, "x", "*")
   conv_cm3 = Evaluate(f)
End Function
・ツリー全体表示

【82273】文字列から計算する数式について
質問  もっちゃん E-MAIL  - 24/2/21(水) 16:30 -

引用なし
パスワード
   VBAに初めて手を出そうとしています。
この様な動作をさせたいと考えていますが可能でしょうか?

コピーされた文字列をセルに貼り付けてcm3に変換して計算

330 * 250 * 24mm

を入力すると隣のセルに1980cm3と表示したいのです。

また違うセルでも構わないのですが同様に

9.84 x 1.97 x 0.79 inches

と貼り付けした場合にも計算して隣のセルに答えをcm3で表示させたいのです。
VBAを使わなくても可能な方法があるのならそれもOKです。
よろしくお願い致します。
・ツリー全体表示

【82272】やっぱ変わってなかった
発言  Jaka  - 24/2/11(日) 19:22 -

引用なし
パスワード
   なんか変わってなかったみたい残念
・ツリー全体表示

【82271】ありがとうございました。
お礼  Jaka  - 24/2/11(日) 19:18 -

引用なし
パスワード
   おおすげー
目安箱とかのボタンを押してもESETがはんのうしなくなった
ありがとうございました
これで今まで蓄積したエクセル、VBAコードをなくしましたが
これでとりあえず今のところ何とかなるかぁ????

所でWindows11ってクソですね。
今度のThinkpad L あれなんだっけ多分L560
第6世代のi5
500MのHDDをSSDに丸コピーして使ってますが
起動時間が、9分以上だったのが、今のところ1分以内になったことだけが
いいと思った
操作性は悪いし、何かやるにも輪ドライブとかに1度つなげないとダメとか
いろいろ不便
なんかMSのアカウント取りそこなったみたいでいろいろはじかれます
テンキー付きのノートパソキー位置と感覚がいまいちなじめないです。
今のところテンキーなんぞつけなきゃよかったかもと思ってます。
windowd7ときと同じことするのに工程が多くなった
では
・ツリー全体表示

【82270】谷さんへ
質問  Jaka  - 24/1/31(水) 17:53 -

引用なし
パスワード
   こんにちはひさしぶりです
Excel VBA質問箱 IV 内のホームボタンやら他
ホームから各ボタンを押すと、ESETが反応してしまい
閲覧できません。

Windows7の時はそれなりに閲覧できるときもあったんですが
Windows7のHDDが壊れてしまい、中古のWindows11のThinkpadL560だと
閲覧できません。

こんな感じに

このWebページには、感染したデバイスへのリモートアクセスを可能にしたり、デバイスから機密データを漏洩させたり、標的となったデバイスに害を与えたりする可能性がある危険なコンテンツが含まれる場合があります。
脅威: JS/Adware.Agent.DA アプリケーション

何とかならないもんでしょうか?
・ツリー全体表示

【82269】Dior スーパーコピー
発言  vogcopy.net  - 24/1/29(月) 16:27 -

引用なし
パスワード
   ディオール(DIOR)の2023年春メンズカプセルコレクションから新作スニーカーやジャケットが登場。vogcopy.net/brand-2-c0.html Dior スーパーコピー 2023年1月6日(金)から1月22日(日)まで開催される東京・表参道「MICO JINGUMAE」の期間限定ストアで発売される。

ディオールを代表する「サドル(SADDLE)」バッグの新作は、vogcopycelinebad.on.omisenomikata.jp/ ERLのシグネチャーであるウェーブモチーフをキルティングで落とし込んだ。長さの調節が可能なブランドネーム入りのストラップが付属しており、ショルダーバッグでもクロスボディとしても使用することができる。
・ツリー全体表示

【82268】Re:フォルダ内の画像の余白を削除
発言  Trim  - 24/1/25(木) 8:45 -

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

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

Powershellでも出来そうですね
フリーソフトが使えない環境ですので
手動でやっているのですが数が多いと
時間が掛かるのでVBAでできないものかと
考えておりました。

難しそうですねー
・ツリー全体表示

【82267】Re:フォルダ内の画像の余白を削除
発言  マナ  - 24/1/24(水) 20:09 -

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

こちらが参考にならないでしょうか。
ht tps://www.excel.studio-kazu.jp/kw/20221106151753.html
ht tps://www.excel.studio-kazu.jp/kw/20201225143843.html
・ツリー全体表示

【82266】フォルダ内の画像の余白を削除
質問  Trim  - 24/1/24(水) 16:51 -

引用なし
パスワード
   フォルダ内に幅3507ピクセル、高さ2480の画像ファイルが複数あります。

ペイントを開き、すべて選択した状態で
左90、上220移動する。
選択を解除して、下320、右190をカットする。
処理完了後、上書き保存。

上記の処理を行いたいのですが可能でしょうか?

コードを提示して頂けますと幸いです。
宜しくお願い致します。
・ツリー全体表示

1 / 3831 ページ 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free