Excel VBA質問箱 IV

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

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


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

【82230】文字列を1000以上と判断する理由について
質問  きつね  - 23/11/17(金) 16:50 -

引用なし
パスワード
   初めて投稿させて頂きます。


If Range("B5") >= 1000 Then

  Range("B6") = 0

  Else

  Range("B6") = 200

End If

というプロシージャを作ったのですが、B5のセルに例えば「田中」と入れると真としてとらえられB6に「0」と入ってしまいます。日本語に限らずB5に何か入れると「1000以上」と判断されるのはなぜでしょうか?
よろしくお願い致します。
・ツリー全体表示

【82229】Re:VLOOKUPで文字色もコピーする方法
お礼  まき  - 23/11/8(水) 20:53 -

引用なし
パスワード
   遅くなりました。
最初のやり方ですることにしました。
毎回、丁寧に迅速な回答ありがとうございました。
・ツリー全体表示

【82228】Re:時間帯別にプロシージャを実行したい...
お礼  鈴木厚志  - 23/11/6(月) 15:26 -

引用なし
パスワード
   ▼マナ さん:
>▼鈴木厚志 さん:
>
> currentTime = Time
>>
>これでした


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

【82227】Re:時間帯別にプロシージャを実行したい...
発言  マナ  - 23/11/6(月) 14:55 -

引用なし
パスワード
   ▼鈴木厚志 さん:

currentTime = Time
>
これでした
・ツリー全体表示

【82226】Re:時間帯別にプロシージャを実行したい...
発言  マナ  - 23/11/6(月) 11:23 -

引用なし
パスワード
   ▼鈴木厚志 さん:

currentTime = TimeValue(Now)

これで試してみてください
・ツリー全体表示

【82225】時間帯別にプロシージャを実行したいので...
質問  鈴木厚志  - 23/11/6(月) 9:08 -

引用なし
パスワード
   8:00から15:00にtest1()を実行し15:00から8:00までtest2()を実行したいのでコーディングしてみたのですがうまくいきません。どう修正すればよいでしょうか?

Sub MainProcedure()
  Dim currentTime As Date
  currentTime = Now
  Dim startTime As Date
  Dim endTime As Date

  startTime = TimeValue("08:00:00")
  endTime = TimeValue("15:00:00")
  
  If currentTime >= startTime And currentTime <= endTime Then
    Call test1
  Else
    Call test2
  End If
End Sub

Sub test1()
  ' 08:00から15:00の間に実行したい処理を記述
  MsgBox "test1 プロシージャが実行されました。"
End Sub

Sub test2()
  ' 15:00から08:00の間に実行したい処理を記述
  MsgBox "test2 プロシージャが実行されました。"
End Sub
・ツリー全体表示

【82224】Re:VLOOKUPで文字色もコピーする方法
発言  マナ  - 23/11/2(木) 19:30 -

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

Private Sub CopyWithColor(rngFrom As Range, rngTo As Range)

  rngTo.UnMerge
  rngFrom.Copy rngTo
  rngTo.Resize(2).Merge

End Sub
・ツリー全体表示

【82223】Re:VLOOKUPで文字色もコピーする方法
発言  まき  - 23/11/1(水) 22:53 -

引用なし
パスワード
   ▼マナ さん:
>▼まき さん:
>
>1文字ずつ処理しているので仕方がないです。
>罫線とか背景色等の他の書式もコピーして良いなら
>セル単位で処理できるので早いです。

セルごとの方法も教えていただけたら幸いです。
・ツリー全体表示

【82222】Re:VLOOKUPで文字色もコピーする方法
発言  マナ  - 23/10/25(水) 16:21 -

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

1文字ずつ処理しているので仕方がないです。
罫線とか背景色等の他の書式もコピーして良いなら
セル単位で処理できるので早いです。
・ツリー全体表示

【82221】Re:セルの背景色で判断する
お礼  April  - 23/10/25(水) 14:02 -

引用なし
パスワード
   ▼MK さん:
>> If ActiveSheet.Range("A:M").Interior.ColorIndex = 3 Then
>
>これは、
>A1〜M1048576の全てのセルの背景色が赤の時のみTrueが返ってきます。
>
>URLを貼ったFindFormatの使用例です。

お礼が遅くなりまして大変申し訳ありません。
頂きましたコードを使用しまして、Trueの場合「OK]表示するように作ってみました。

これからもっと勉強します。
お世話になりました。
・ツリー全体表示

【82220】Re:VLOOKUPで文字色もコピーする方法
質問  まき  - 23/10/24(火) 16:31 -

引用なし
パスワード
   遅くなりました。
確認をしたところ全ての動作は思い通りできていました。
一点だけ文字と文字色を読み込むのに時間がかかるのですがそれはどうしょうもないことなのでしょうか。
・ツリー全体表示

【82219】Re:Office365で40036のエラー(Worksheet...
発言  マナ  - 23/10/23(月) 19:22 -

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

>〇エラーが出る箇所
> 以下の、"ThisWorkbook.Worksheets("入力シート").Range(t_range).Value = wk.Worksheets("入力シート").Range(t_range).Value"
> の部分
>
>〇エラー詳細
> 実行時エラー '40036' アプリケーション定義またはオブジェクト定義のエラーです


エラー発生時のt_rangeの値は何でしょうか
> 
・ツリー全体表示

【82218】Office365で40036のエラー(Worksheet関連)
質問  TU  - 23/10/23(月) 9:23 -

引用なし
パスワード
   お世話になります。

表題の通りなのですが、
あるExcel2013で作成していたマクロが、
365にアップデートした環境で実行したところエラーが出るようになりました。

〇概要
・同じフォーマットの別のファイルから、内容をコピーしてくる、というマクロ
・wk (Workbook)にコピー元のブックをセットしている
・セルマスタ表が別途あり、そこからコピー対象セルを取得し、
 コピー元の対象セルから、コピー先の対象セルへ値をコピー、を繰り返す、というもの

〇エラーが出る箇所
 以下の、"ThisWorkbook.Worksheets("入力シート").Range(t_range).Value = wk.Worksheets("入力シート").Range(t_range).Value"
 の部分

  For j = 1 To 5
  t_range = .Cells(i, j + 10).Text
   ThisWorkbook.Worksheets("入力シート").Range(t_range).Value = wk.Worksheets("入力シート").Range(t_range).Value
  Next j


〇エラー詳細
 実行時エラー '40036' アプリケーション定義またはオブジェクト定義のエラーです
 

365特有の仕様があるのでしょうか。
Workbookuのactivateを挟んでみたり、参照設定を疑ったりしたのですが、解決せず・・・
何かご存知の方おられましたら、ご教示いただけますと幸いです。

情報に不足などありましたらお知らせください。
・ツリー全体表示

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

引用なし
パスワード
   > If ActiveSheet.Range("A:M").Interior.ColorIndex = 3 Then

これは、
A1〜M1048576の全てのセルの背景色が赤の時のみTrueが返ってきます。

URLを貼ったFindFormatの使用例です。

Sub test2()
Dim ws As Worksheet
 With Application.FindFormat
  .Clear
  .Interior.Color = vbRed
 End With
 Set ws = ActiveSheet
 If ws.Range("A:M").Find(What:="", searchformat:=True) Is Nothing Then
   MsgBox "赤無し"
 Else
   MsgBox "赤有り"
 End If
End Sub
・ツリー全体表示

【82216】Re:VLOOKUPで文字色もコピーする方法
発言  マナ  - 23/10/20(金) 21:00 -

引用なし
パスワード
   ▼まき さん:
>C3とC4など結合されている場合も同じものでいけるでしょうか。

たぶんOK
・ツリー全体表示

【82215】Re:VLOOKUPで文字色もコピーする方法
お礼  まき  - 23/10/20(金) 20:27 -

引用なし
パスワード
   ありがとうございます。
すぐに確認ができないので後日確認してみようと思うのですが、説明が不足していた部分があり、代入場所がC3ではなくC3とC4など結合されている場合も同じものでいけるでしょうか。
・ツリー全体表示

【82214】Re:VLOOKUPで文字色もコピーする方法
発言  マナ  - 23/10/20(金) 17:06 -

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

Sub test()
  Dim rng As Range, m, k As Long
  
  Set rng = Worksheets("入力用").Columns(1).Cells
  
  For k = Range("B1").Value To Range("B2").Value
    m = Application.Match(k, rng, 0)
    If IsNumeric(m) Then
      Range("A1").Value = k
      CopyWithColor rng(m, 2), Range("C3")
      CopyWithColor rng(m, 4), Range("D3")
      CopyWithColor rng(m, 6), Range("E3")
      ActiveSheet.PrintPreview
    End If
  Next
  
End Sub

Private Sub CopyWithColor(rngFrom As Range, rngTo As Range)
  Dim k As Long
  
  rngTo.Value = rngFrom.Value
'  rngTo.Font.Color = rngFrom.Font.Color

  For k = 1 To Len(rngTo.Value)
    rngTo.Characters(k, 1).Font.Color = rngFrom.Characters(k, 1).Font.Color
  Next

End Sub
・ツリー全体表示

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

引用なし
パスワード
   何度もありがとうございます。
リンク先も読ませていただいたのですが、理解に乏しくうまくいきません。
良ければコードを頂いてお教えくださいませんでしょうか。

背景色は赤いときのみNGの表示を行いたいです。
・ツリー全体表示

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

引用なし
パスワード
   >Interior.ColorIndex

念のため書いておきます。

ColorIndexは、デフォルトでは3は赤になっていますが、
ユーザーがパレットの色を変えた場合は3が別の色に
なってる可能性があります。
ほとんどの人はデフォルト部分は変えないとは思いますが。

RGBで指定する
VbRed

などでも色を指定できます。
・ツリー全体表示

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

引用なし
パスワード
   ↓のコードを実行してみてください。

MsgBox ActiveSheet.Range("A:M").Interior.ColorIndex = 3

A1〜M列の最大行全てのセルの背景色の色インデックスが3だったら
Trueが返ります。

一つでもセルの背景色の色インデックスが3でないのがあるとエラーになります。

本当に1行目〜最大行(バージョンによって最大行数が変わります)の背景色
を対象にする必要があるのですか?
・ツリー全体表示

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