Excel VBA質問箱 IV

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

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


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

【82210】Re:セルの背景色で判断する
発言  MK  - 23/10/20(金) 11:30 -

引用なし
パスワード
   私のレスをよく見てください。
・ツリー全体表示

【82209】Re:セルの背景色で判断する
回答  April  - 23/10/20(金) 11:26 -

引用なし
パスワード
   皆様ありがとうございます。
ご指摘いただきまして修正しましたが、赤い背景色のセルが無くてもNGが表示されてしまいます。
この理由を教えていただけませんか?

  
  If ActiveSheet.Range("A:M").Interior.ColorIndex = 3 Then
    Cells(2, 8).Value = "OK"
  Else
    Cells(2, 8).Value = "NG"
  End If
・ツリー全体表示

【82208】Re:セルの背景色で判断する
発言  MK  - 23/10/20(金) 11:21 -

引用なし
パスワード
   参考HPです。

ht tps://www.hokkyokun.com/findmethod-format/
・ツリー全体表示

【82207】Re:セルの背景色で判断する
発言  MK  - 23/10/20(金) 11:17 -

引用なし
パスワード
   コードをよく見たらループにすらなってないですね。
ループでセル範囲を見ていくようにしたらいいと思います。
・ツリー全体表示

【82206】Re:セルの背景色で判断する
発言  MK  - 23/10/20(金) 11:14 -

引用なし
パスワード
   直接の回答ではありません。

COUNTの初期化がされてませんが、ここでは
エクセル君が忖度して初期値が0になってると思います。

予約語かわかりませんが、
COUNT
というのは変数名には不適切だと思います。
・ツリー全体表示

【82205】セルの背景色で判断する
質問  April  - 23/10/20(金) 11:10 -

引用なし
パスワード
   こんにちは、下記の件につきましてご教示頂けたらと思います。

Sheet1のA〜M列内で背景色に赤のセルがあればB2セルに「NG」、
他の背景色だったり色がなければB2セルに「OK」を出すマクロを考えています。

下記の通りコードを作成したのですが、エラーになってしまいます。
どのように修正すればよろしいでしょうか。

Sub TEST()

  Dim count As Long

  If ActiveSheet.Range("A:M").Interior.ColorIndex = 3 Then '赤を指定
    count = count + 1
  End If
  Next
  If count = 0 Then
    Cells(2, 8).Value = "OK"
  Else
    Cells(2, 8).Value = "NG"
  End If
End Sub
・ツリー全体表示

【82204】Re:VLOOKUPで文字色もコピーする方法
回答  まき  - 23/10/19(木) 23:00 -

引用なし
パスワード
   はい、複数色が混在します。
・ツリー全体表示

【82203】LZHの解凍(64bit)
質問  かんだ  - 23/10/19(木) 22:29 -

引用なし
パスワード
   こんにちは。
エクセルのVBAで、LZHの圧縮ファイルを解凍するプログラムを10年くらい前に作成しました。私はVBAの詳しい知識がなく、webの情報で試行錯誤しながら作成しました。32bitのエクセルでしたので、"UNLHA32.DLL"を使ったプログラムでした。
今回パソコンが変わり、OFFICE365の64bit版のエクセルになりました。プログラムを動かしたところ、"UNLHA32.DLL"を呼び出すタイミングで、「DLL読み込み時のエラーです。」というメッセージが出ました。
"UNLHA32.DLL"の64bit版を探しましたが見つかりませんでした。

LZHの圧縮ファイルを解凍できるDLL(64bitで動くDLL)がわかりません。
教えていただけませんでしょうか?
宜しくお願いします。
・ツリー全体表示

【82202】Re:VLOOKUPで文字色もコピーする方法
発言  マナ  - 23/10/19(木) 21:44 -

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

セル内で、複数色が混在することはありますか。
・ツリー全体表示

【82201】Re:VLOOKUPで文字色もコピーする方法
回答  まき  - 23/10/19(木) 18:45 -

引用なし
パスワード
   いままではVLOOKUPで
C3=VLOOKUP(A1,入力用!A1:Z20,2,FALSE)
D3=VLOOKUP(A1,入力用!A1:Z20,4,FALSE)
D3=VLOOKUP(A1,入力用!A1:Z20,6,FALSE)
のような形でしていました。

ご質問の内容と合っているかわかりませんがお願いします。
・ツリー全体表示

【82200】Re:VLOOKUPで文字色もコピーする方法
発言  マナ  - 23/10/19(木) 8:31 -

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

>検索結果をC3、D3、E3に表示(この際に文字色ごとコピーができません)

C3、D3、E3の式を教えてください
・ツリー全体表示

【82199】VLOOKUPで文字色もコピーする方法
質問  まき  - 23/10/18(水) 22:49 -

引用なし
パスワード
   VBA初心者です。
今まで関数で対応していましたが、どうしてもVLOOKUPで文字色をコピーしなければいけないため教えていただけたらと思います。

シート1にデータ
シート2にVLOOKUPで検索して印刷しています

A1セルに検索値
B1とB2に検索値の最初と最後を指定
検索結果をC3、D3、E3に表示(この際に文字色ごとコピーができません)
印刷→次の検索値へ

言葉足らずですがこのようなVBAを教えていただけたらと思います。
・ツリー全体表示

【82198】広報誌の年間掲載計画の自動化を行いたい...
質問  たくぼう E-MAIL  - 23/10/17(火) 13:21 -

引用なし
パスワード
   VBA全くの初心者です。
社内広報誌を、各部門の掲載依頼書に基づき、年始に毎月の掲載計画を作成しています。
各部門からの回答書を確認し、掲載希望月に記事タイトル等を転記する作業だけで膨大な時間を要します。
また、年間計画を作成した後、月別の計画書に転記する必要がありますが、そもそもVBAで実現できるかもわからず、質問させていただいた次第です。
・ツリー全体表示

【82197】Re:VBA
発言  マナ  - 23/8/29(火) 16:42 -

引用なし
パスワード
   ▼いとう さん:

そうです。
つまり、残したい行番号を自動で求めることができればよいのです。

今回は、arraylist という道具を利用しました。

arraylistの使い方はネットで調べてください。
何となくでもよいのでtest3 ↓が理解できないと
先に進めません。

Sub test3()
  Dim aryl As Object
  Dim v, i As Long
 
  Set aryl = CreateObject("system.collections.arraylist")
 
  For i = 6 To 2 Step -1
    aryl.Add i
    If i = 3 Or i = 5 Then
      aryl.Remove i
    End If
  Next
  
  aryl.Add 1
  aryl.Reverse

  v = Application.Transpose(aryl.toarray)
  Worksheets.Add.Cells(1).Resize(UBound(v)).Value = v

End Sub
・ツリー全体表示

【82196】Re:VBA
発言  いとう  - 23/8/29(火) 14:50 -

引用なし
パスワード
   マナ様
抽出する行を変更しました。

Sub test2()
  Dim v, a
 
  v = Cells(1).CurrentRegion.Value
   a = Array(1, 2) '抽出する行

  v = Application.Index(v, Application.Transpose(a), Array(1, 2, 3, 4))
  Worksheets.Add.Cells(1).Resize(UBound(v), 4).Value = v

End Sub
・ツリー全体表示

【82195】Re:VBA
発言  マナ  - 23/8/29(火) 13:12 -

引用なし
パスワード
   ▼いとう さん:

>上記のような理解で合っておりますでしょうか?

わたしには、よくわかりません。
マクロを実行したうえで、そう考えたのであれば
他人にはわかりづらい表現というだけで、
たぶんあっているのでしょう。

下記のデータの場合は
test2を、どのように修正すればよいかわかりますか。

    A    B     C   D
1  品目CD  計上日   単価  金額
2  ばなな 2022/8/31  110  110
3  ばなな 2022/8/31  100  -100
4  ばなな 2022/8/2   100  100
・ツリー全体表示

【82194】Re:VBA
発言  いとう E-MAIL  - 23/8/28(月) 15:42 -

引用なし
パスワード
   マナ様
Cells(1)がよくわかっておりませんが、
v = Application.Index(v, Application.Transpose(a), Array(1, 2, 3, 4))
1,2,3,4,の配列を取り出して転記する
Worksheets.Add.Cells(1).Resize(UBound(v), 4).Value = v
ワークシートを追加して行最大で4列のアクティブ領域の値を取り出して転記する

上記のような理解で合っておりますでしょうか?
・ツリー全体表示

【82193】Re:VBA
発言  マナ  - 23/8/28(月) 14:51 -

引用なし
パスワード
   ▼いとう さん:

    A    B     C   D
1  品目CD  計上日   単価  金額
2  ばなな 2022/8/31  110  110
3  ばなな 2022/8/31  100  -100
4  ばなな 2022/8/3   100  200
5  ばなな 2022/8/2   100  100
6  ばなな 2022/8/1   100  100

まずは下記で行われていることを理解する必要があります。

Sub test2()
  Dim v, a
 
  v = Cells(1).CurrentRegion.Value
   a = Array(1, 2, 4, 6) '抽出する行

  v = Application.Index(v, Application.Transpose(a), Array(1, 2, 3, 4))
  Worksheets.Add.Cells(1).Resize(UBound(v), 4).Value = v

End Sub
・ツリー全体表示

【82192】Re:VBA
発言  いとう E-MAIL  - 23/8/28(月) 9:41 -

引用なし
パスワード
   マナ様
成功しました。ありがとうございます。すごいです!

もしよろしければ勉強不足のである私に各プログラムの意味を記載して
いただけませんでしょうか。初めて知った部分もあるので知識をつけたく
なってしまいました。

まだお付き合いいただけますようでしたら、よろしくお願いいたします。
・ツリー全体表示

【82191】Getattr関数 エラー 76
質問  t.T  - 23/8/26(土) 10:17 -

引用なし
パスワード
   お願いいたします。
windows10にて、cドライブのtempフォルダないにtest.cstはエクスプローラ上、存在します。

しかしながら、Getattr関数 を実行するとエラー76が表示されます。
同じマクロとフォイルに対して他の方のPCでは問題ありません。

私のwindows環境に問題があるとしか考えられずどこの設定に相違があるか途方にくれております。

どなたか確認すべき箇所などご教示頂けると幸いです。
・ツリー全体表示

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