Excel VBA質問箱 IV

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

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


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

【82254】Re:別シートから一致する項目をすべて引...
発言  マナ  - 24/1/22(月) 12:58 -

引用なし
パスワード
   ▼迷える羊 さん:


>>  Dim d As Object, k
>kはVariantですかね?

はい。Variantです。


>また、
>>  For Each k In d.keys
>>    a.addrange dic(k)
>のdicでSubまたはFunctionが定義されていないと言われてしまいました。
>

ごめんなさい。動作確認しないで投稿していました。
dic(k) でなく、d(k) でした。
 
 
     
・ツリー全体表示

【82253】Re:別シートから一致する項目をすべて引...
質問  迷える羊  - 24/1/22(月) 11:28 -

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

早々にご回答ありがとうございます!
>  Dim d As Object, k
kはVariantですかね?

また、
>  For Each k In d.keys
>    a.addrange dic(k)
のdicでSubまたはFunctionが定義されていないと言われてしまいました。

当初ユーザーフォームに入れていたせいかと思い、
標準モジュールに移動したのですが、
同じくだめでした。
・ツリー全体表示

【82252】Re:別シートから一致する項目をすべて引...
発言  マナ  - 24/1/21(日) 23:11 -

引用なし
パスワード
   ▼迷える羊 さん:

Sub test()
  Dim ws1 As Worksheet, ws2 As Worksheet
  Dim c As Range
  Dim d As Object, k
  Dim v, i As Long, s As String
  Dim a As Object
  
  Set ws1 = Sheets("Sheet1")
  Set ws2 = Sheets("Sheet2")
  Set d = CreateObject("scripting.dictionary")
  
  For Each c In ws1.Columns(1).SpecialCells(xlCellTypeConstants)
    Set d(c.Value) = CreateObject("system.collections.arraylist")
  Next
  
  v = ws2.Cells(1).CurrentRegion.Value
  For i = 1 To UBound(v)
    s = v(i, 2)
    If d.exists(s) Then d(s).Add v(i, 1)
  Next
  
  Set a = CreateObject("system.collections.arraylist")
  
  For Each k In d.keys
    a.addrange dic(k)
  Next

  ws1.Cells(2).Resize(a.Count).Value = Application.Transpose(a.toarray)
  
End Sub
・ツリー全体表示

【82251】Re:別シートから一致する項目をすべて引...
発言  迷える羊  - 24/1/21(日) 21:12 -

引用なし
パスワード
   ▼マナ さん:
>Sheet2にあって、Sheet1にない項目はありますか
>その逆、Sheet1にあって、Sheet2にない項目はありますか
sheet2はフルで網羅してありますので、
sheet2にあって、sheet1にない項目はあります。
sheet1にあってsheet2にない項目はありません。
よろしくおねがいいたします。
・ツリー全体表示

【82250】Re:別シートから一致する項目をすべて引...
発言  マナ  - 24/1/20(土) 13:10 -

引用なし
パスワード
   ▼迷える羊 さん:

Sheet2にあって、Sheet1にない項目はありますか
その逆、Sheet1にあって、Sheet2にない項目はありますか
・ツリー全体表示

【82249】別シートから一致する項目をすべて引っ張...
質問  迷える羊  - 24/1/19(金) 13:21 -

引用なし
パスワード
   はじめまして、よろしくおねがいいたします。

[sheet1]    [sheet2]
A列   B列  A列 B列
いちご     123 いちご
みかん     234 りんご
りんご     345 みかん
ぶどう     456 いちご
        567 りんご
        678 りんご
とあった場合、
B列には
まず[sheet1]A列の「いちご」に該当する[sheet2]A列のものを、
次に[sheet1]A列の「みかん」に該当する[sheet2]A列のものを、
と並べていきたいです。

[sheet1]    [sheet2]
A列   B列  A列 B列
いちご  123  123 いちご
みかん  456  234 りんご
りんご  345  345 みかん
ぶどう  234  456 いちご
     567  567 りんご
     678  678 りんご

[sheet1]A列とB列は行で揃っていなくても構わないのですが、
どのように引っ張ってくればできるのでしょうか。
どなたかご教示願います。
・ツリー全体表示

【82248】Re:フィルターと印刷
お礼  まき  - 23/12/29(金) 2:40 -

引用なし
パスワード
   ありがとうございます。
・ツリー全体表示

【82247】Re:フィルターと印刷
発言  もうすぐ正月  - 23/12/25(月) 17:22 -

引用なし
パスワード
   ▼まき さん:
>A列でフィルターをかけ昇順に並べ替えてA列のあるページのみ印刷。
>D列でフィルターをかけ昇順に並べ替えてD列のあるページのみ印刷。
>G列で…。

とか解りませんが、範囲は指定できますよ
こんな感じに

ActiveSheet.PageSetup.PrintAriea = "A1:E5"
ActiveSheet.PrintPreview

ActiveSheet.Range("A2:C10").PrintPreview
・ツリー全体表示

【82246】Re:チェックボックスを空白セルにしたい。
発言  もうすぐ正月  - 23/12/25(月) 17:05 -

引用なし
パスワード
   どんな種類なのか解らないけど

フォームのチェックボックスの場合
なおフレーム使用時は試してない

ActiveSheet.CheckBoxes = xlOff

それと、どこかのセルとリンクさせておけば
そのセルの内容を消す事でオフになってたような
その際リンクさせるセルを集めておけば
Range("A1:A5").value = empty
Range("A1:A5").value = ""
でいいじゃないですかね?
・ツリー全体表示

【82245】フィルターと印刷
質問  まき  - 23/12/23(土) 21:44 -

引用なし
パスワード
   A列からV列まで項目ごとにデータが入っています。
ページ数にすると30ページ分くらいあります。
A列でフィルターをかけ昇順に並べ替えてA列のあるページのみ印刷。
D列でフィルターをかけ昇順に並べ替えてD列のあるページのみ印刷。
G列で…。
のように一部の列のみを印刷する方法や繰り返してできる方法があれば教えていただきたいです。
よろしくお願いします。
・ツリー全体表示

【82244】チェックボックスを空白セルにしたい。
質問  にゃんたん  - 23/12/18(月) 12:21 -

引用なし
パスワード
   [VBA]フォームを使わない軽量チェックボックスで幸せになろう

上記のサイトを参考にただの図形にマクロ文を入れてチェックボックスとして利用しています。
※以下チェックボックスの定義はこの文書とする。

このチェックボックスがアクティブシート上に複数あります。仮にチェックマークを外すという名前のボタン1つをクリックするだけで、アクティブシート上にあるチェックボックスにチェックマーク(文字コード2713)がついているものを外したいです。言い換えると空白にしたい(マクロ文は削除したくない)です。

このVBAを組むことはできますでしょうか?
よろしくお願いいたします。
・ツリー全体表示

【82243】ピポッドテーブル スライサーについて
質問  もも  - 23/12/12(火) 18:00 -

引用なし
パスワード
   ピポッドテーブルの集計アイテムで集計結果の列を追加した上で、
スライサーを使用すると、スライサーにて洗濯した対象意外の行も表示
されてしまい、フィルター機能として活用できない状態になってしまいまきた。
解消法についてご教示ください。
・ツリー全体表示

【82242】Re:条件追加
お礼  いとう  - 23/12/12(火) 16:28 -

引用なし
パスワード
   非常にたすかりました。

何個も条件追加できてよかったです。

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

【82241】Re:条件追加
発言  マナ  - 23/12/9(土) 11:09 -

引用なし
パスワード
   ▼いとう さん:
>以下2つのコードを1つにまとめたいです。


削除は最初に1回だけにするとよいです。

>  Range("D22:X24").FormatConditions.Delete
・ツリー全体表示

【82239】条件追加
質問  いとう  - 23/12/7(木) 16:21 -

引用なし
パスワード
   以下2つのコードを1つにまとめたいです。
If Then など使うのでしょうか?

Sub TEST20()
 
  Dim Con
 
  '条件付き書式を削除
  Range("D22:X24").FormatConditions.Delete
 
  '条件を、0~20に設定して、オブジェクトに格納
  Set Con = Range("D22:X24").FormatConditions.Add(Type:=xlExpression, Formula1:="=And(0<=D22, D22<=20)")
 
  '条件成立で、背景色を「水色」
  Con.Interior.ColorIndex = 38
 
End Sub

Sub TEST25()
 
  Dim Con
 
  '条件付き書式を削除
  Range("D22:X24").FormatConditions.Delete
 
  '条件を、0~20に設定して、オブジェクトに格納
  Set Con = Range("D22:X24").FormatConditions.Add(Type:=xlExpression, Formula1:="=And(21<=D22, D22<=25)")
 
  '条件成立で、背景色を「緑色」
  Con.Interior.ColorIndex = 7
 
End Sub
・ツリー全体表示

【82238】Re:シート保護の際に置換
発言  MK  - 23/12/7(木) 11:09 -

引用なし
パスワード
   ユーザーフォームなどを使用し、テキストボックスなどに
置換前と置換後の文字列を入力し、コマンドボタン
などで実行、でいかがでしょう。
もちろん、保護解除、置換、保護をマクロで行います。
・ツリー全体表示

【82237】シート保護の際に置換
質問  まき  - 23/12/6(水) 19:42 -

引用なし
パスワード
   複数名が入力するシートがあります。
一部だけ入力できるようにして、シート保護をかけています。
そのまま、置換だけは使えるようにしたいです。
良い方法があれば教えていただけたらと思います。
よろしくお願いします。
・ツリー全体表示

【82236】Re:文字列を1000以上と判断する理由につ...
お礼  きつね  - 23/12/1(金) 16:05 -

引用なし
パスワード
   ▼数値 さん:
>文字の方が数値より大きいから

文字のほうが数値より大きいと判断されるのですね!
そういうことなら納得がいきました♪
ご返信ありがとうございます!
・ツリー全体表示

【82235】Re:Getattr関数 エラー 76
発言  数値  - 23/11/30(木) 20:39 -

引用なし
パスワード
   tempフォルダにアクセスの許可が無いとか

ht tps://kosapi.com/post-2957/

OneDrive関連だとちと解らない
・ツリー全体表示

【82234】Re:条件付き書式をVBAで再現したい
発言  数値  - 23/11/30(木) 20:22 -

引用なし
パスワード
   Private Sub Worksheet_Change(ByVal Target As Range)

を使います
頑張ってください
・ツリー全体表示

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