Excel VBA質問箱 IV

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

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


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

【81809】Re:textについて
質問  とうした  - 21/6/1(火) 8:22 -

引用なし
パスワード
   >BJ さん
お返事ありがとうございます。
BJさんのコードは私の中では見たことのないとてもスマートなコードでしたので、
今度参考にさせてもらいます。

因みに私のコードの先頭に●マークの部分だけは必須とした場合は、
その中身は他にどんな書き方が有りますか?


●Dim abc As Range
●Set abc = Range("A1:A3")
●If WorksheetFunction.CountBlank(abc) = 0 Then
  If abc.Text = "あ" Then
    Stop
  Else
    Stop
  End If
●End If
・ツリー全体表示

【81808】Re:textについて
発言  BJ  - 21/6/1(火) 0:52 -

引用なし
パスワード
   with range("A1:C10")
 if application.countif(.cells,.cells(1).value)=.cells.count then
   msgbox "全部同じ"
 else
   msgbox "なんか適当にやってる感じ"
 end if
end with

因みに全空白判定は入って無いので、提示されたコードを利用。
・ツリー全体表示

【81807】textについて
質問  とうした  - 21/5/31(月) 21:19 -

引用なし
パスワード
   セル範囲をrangeでセットして、
その範囲内の空白チェックを使うと前提した上での質問です。

その範囲内の値が全て特定の同じ値の場合と、
そうでない場合でif文を組もうとした時に、
vbaのローカルウィンドウ内のtextを確認すると、
全て同じならその値が、
一つでも異なればnullとなっていました。

これは使えると思ったのですが、この使い方で合っているのかどうかが知りたいです。

以下はそのコードになります。
Sub test()
  Dim abc As Range
  Set abc = Range("A1:A3")
  If WorksheetFunction.CountBlank(abc) = 0 Then
    If abc.Text = "あ" Then
      Stop
    Else
      Stop
    End If
  End If
End Sub
・ツリー全体表示

【81806】Re:個人用マクロブックから、標準モジュ...
お礼  稲垣  - 21/5/31(月) 12:05 -

引用なし
パスワード
   ▼BJ さん:
>n = Application.Run("PERSONAL.XLSB!test2", msg)
>msgbox n
>
>Function test2(ByRef msg As String)
>  test2 = "成功" & msg
お世話になります。
ご教授頂き、ありがとうございました。

頂いた内容で、無事に解決ができました。
当件について結構調べたつもりでしたが、
解決策が見つからず、途方に暮れていたため、助かりました。

引き続きよろしくお願いいたします。
・ツリー全体表示

【81805】Re:空白セルの作り方
お礼  トム  - 21/5/30(日) 12:27 -

引用なし
パスワード
   ▼BJ さん:
>セルに ="" と書いて、セルをコピーして値だけ貼り付け。

再現出来ました!
ありがとうございます。
・ツリー全体表示

【81804】Re:空白セルの作り方
発言  BJ  - 21/5/30(日) 0:18 -

引用なし
パスワード
   >長さ0の文字列の事かな?

セルに ="" と書いて、セルをコピーして値だけ貼り付け。
・ツリー全体表示

【81803】Re:空白セルの作り方
質問  トム  - 21/5/29(土) 21:28 -

引用なし
パスワード
   ▼BJ さん:
>ああ、
>長さ0の文字列の事かな?
>改行など他?

確かにセル内でALTキー + エンターキーで改行すれば、
End(xlUp).Rowで反応しました。

ですが私が今調べているセルは改行すらしてないセルでした。
他に方法は有りますでしょうか?
・ツリー全体表示

【81802】Re:空白セルの作り方
発言  BJ  - 21/5/29(土) 19:17 -

引用なし
パスワード
   ああ、
長さ0の文字列の事かな?
改行など他?
・ツリー全体表示

【81801】Re:空白セルの作り方
発言  BJ  - 21/5/29(土) 17:53 -

引用なし
パスワード
   >空白セルはどうやって作るのでしょうか?

DELETE キーを押す。
もしくは、セルごと削除。
・ツリー全体表示

【81800】Re:個人用マクロブックから、標準モジュ...
発言  BJ  - 21/5/29(土) 17:50 -

引用なし
パスワード
   n = Application.Run("PERSONAL.XLSB!test2", msg)
msgbox n

Function test2(ByRef msg As String)
  test2 = "成功" & msg
・ツリー全体表示

【81799】空白セルの作り方
質問  トム  - 21/5/29(土) 16:39 -

引用なし
パスワード
   こんにちは。
End(xlUp).Rowで調べた時に見た目は空白セルなのに反応するセルが有ります。

アポストロフィやスペースキーでの空のデータでは有りませんでした。

ですがその反応するセルを選択してDeleteキーを押すと、
End(xlUp).Rowで反応しなくなりました。

空白セルはどうやって作るのでしょうか?
・ツリー全体表示

【81798】わかりました。
お礼  おかちゃん  - 21/5/29(土) 2:29 -

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

【81797】Re:アクティブセルに入力されている日付...
回答  稲垣  - 21/5/28(金) 13:40 -

引用なし
パスワード
   ▼おかちゃん さん:
>アクティブセルに2021/5/3と入力されている時、その月の初日である
>2021/5/1に変更したいと思います。VBAのコードを教えて下さい。
下記で、如何でしょうか?

Sub FstDay()

Dim FstDay As String

  FstDay = ActiveCell.Value
  FstDay = Format(FstDay, "YYYY/M/1")
  ActiveCell.Value = FstDay

End Sub
・ツリー全体表示

【81796】個人用マクロブックから、標準モジュール...
質問  稲垣  - 21/5/28(金) 13:14 -

引用なし
パスワード
   お世話になります。
個人用マクロブックから、標準モジュールへの変数の受け渡しが上手くいかず、
お知恵を拝借できればと思い、メッセージを致しました。

下記のコードにおいて、標準モジュールのtest1を実行した結果、
MsgBox「成功」を表示させるには、どうすればよいでしょうか。

尚、実際の実行結果は、MsgBox「失敗」でした。
お手数をお掛けします。

※個人用マクロブックでMsgBoxを表示すればよい、というご回答があるかもしれませんが、
 下記のコードはあくまで例であり、実際の処理において、
 個人用マクロブックから、標準モジュールへの変数の受け渡しがどうしても必要な事情です。

【標準モジュールのコード】
Option Explicit

Public Sub test1()

Dim msg As String

  msg = "失敗"
  Call Application.Run("PERSONAL.XLSB!test2", msg)
  MsgBox msg

End Sub

【個人用マクロブックのコード】
Option Explicit

Function test2(ByRef msg As String)

  msg = "成功"

End Function
・ツリー全体表示

【81795】Re:アクティブセルに入力されている日付...
発言  通りすがり  - 21/5/27(木) 8:49 -

引用なし
パスワード
   Dateserial
を調べてみてください。
・ツリー全体表示

【81794】アクティブセルに入力されている日付の変...
質問  おかちゃん  - 21/5/27(木) 0:48 -

引用なし
パスワード
   アクティブセルに2021/5/3と入力されている時、その月の初日である
2021/5/1に変更したいと思います。VBAのコードを教えて下さい。
・ツリー全体表示

【81793】Re:助けてください(配列での抽出につい...
発言  通りすがり  - 21/5/26(水) 16:42 -

引用なし
パスワード
   文字化けしました。
正しくは、
γさんのことを理解がないと言ってるのではないと思います。
・ツリー全体表示

【81792】Re:助けてください(配列での抽出につい...
発言  通りすがり  - 21/5/26(水) 16:39 -

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

>yさんのように、理解がない状態での質問に不快に感じてしまう方が居られることを意識し

「理解がない」は主語が省略されてますね。

主語は質問者さん自身のことを指してるように読めます。
ɤさんのことを理解がないと言ってるのではないと思います。
・ツリー全体表示

【81791】Re:助けてください(配列での抽出につい...
発言  γ  - 21/5/25(火) 9:45 -

引用なし
パスワード
   >理解がない状態での質問に不快に感じてしまう
何を言っているんですかね、理解に苦しむ。

1)見出しは省略したい、
2)条件範囲の内容をシートを経由せずに直接指定したい
といった条件で待ち構えていて、それに合わせる話が真っ先にくるのは、
妙な話だと感じた。
提案があったんだから、まずは、普通の決められたやり方で機能を満たすものを
作るのが筋でしょう?
単に知らなかったからと言われるが、それならなおさらのこと、
書籍等に書かれている普通のやりかたで、まずは機能の実現を目指すべきでしょう?違いますか?

こういう回答者もいるから、これからは気をつけないと、的なことを言われて、
初めて本当に不快でした。その言葉は、そっくりあなたに返します。

また、もう一つのより切実とされる問題への言及についてノーコメントなことも理解に苦しむ。(これに対するコメントはもう要らない。)
・ツリー全体表示

【81790】Re:助けてください(配列での抽出につい...
お礼  とりとる  - 21/5/24(月) 19:24 -

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

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

不快な思いをさせてしまい申し訳ありませんでした。
いやいやしているつもりはなく、項目を省略などの方法があればと思い質問させて頂いた次第でした。
vbaの知識もとい、フィルタオプションの知識や理解が少ない状態でしたので、色々と調べながらも、項目の省略はできないのかなと簡単に考えてしまい、質問してしまいました。

今後は、このような質問はしないようにします。
それでも質問させて頂く祭には、yさんのように、理解がない状態での質問に不快に感じてしまう方が居られることを意識し、あらかじめ、理解が出来ていないこと、それが故に質問文に失礼があるかもしれないことを記載した上で利用させて頂ければと思います。
すみませんでした。


他に
>■フィルタオプションの件。
>AdvancedFilterメソッドで引数などにしている情報を見れば、
>いずれもワークシート上に情報を置き、それを利用することが前提になっています。
>ですから、マクロを使って、そういう状況を作ればよいだけの話です。
>・見出しは当然必要です。それがなければ、項目の特定ができません。
> itm1,itm2,・・・の如き見出しを機械的につければいいだけで、
> これはワークシート上で、「連続データ」機能を使ってもいいし、簡単なマクロ
> で可能です。
>・検索条件範囲の値設定も、そこにマクロで値をセットすればよいだけの話です。
>
>こうしたことを理解しようとせず、ご自分のやり方(見出し省略。別の情報入力
>形態?)を開拓しようとしても徒労に終わるだけです。
>いやいやされようとしている印象が、文章からにじみ出ていますが、
>強制する積もりはありません(こちらには何の益もありませんから)。
>当然ながら選択はご自由です。
>
>■3件おきコピーに時間を要しているという、最大の課題と目されている点に
> ついて。
>(1)35万行ですか、多数のようですが、計算式も一度作成してしまえば繰り返し
>  作成する必要もない、という考え方が一つ。
>(2)仮に、繰り返し実行するとしたときの、時間短縮方策の有無。
>  3行おき、ということで、もしその間は何もないという前提なら、
>  以下の方法があります。
> ・空白行を含む3行をまとめて、広い行数に一度にコピーペイストすれば、
>  一行毎にコピーペイストするよりも効率は上がります。
> ・その際、「空白セルを無視する」オプションを利用するのがキモ。 
> ・ただし、一度に実行すると、リソース不足となるかもしれないので、
>  その際は、小分けにして貼り付けるとよいと思われます。
> ・少なくとも、一行毎に貼り付けるよりも、時間短縮にはなります。
・ツリー全体表示

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