電子書籍の厳選無料作品が豊富!

Visual Basic(VBA)のカテゴリーにマクロコード付きの質問が投稿されますが、Webブラウザで見るとインデント表示されなくて見る気がしません。スマホアプリで見るとインデントされていますが、画面が小さいので辛いです。改善方法はあるでしょうか?

  • 画像を添付する (ファイルサイズ:10MB以内、ファイル形式:JPG/GIF/PNG)
  • 今の自分の気分スタンプを選ぼう!
あと4000文字

A 回答 (2件)

vbaとかhtmlは変数とか命令コード内は別として、半角ブランクは無視する仕様です(ソースを見やすくするだけの機能)。



投稿文は実際は長いhtml構文のほんの1行に組み込まれて、全体をhtmlとして表示してるダケです。

なので半角スペースは表示からは無視されます。
仕方ないので全角スペースで字下げをして投稿してます。

スマホのアプリはスマホ用に専用で作ってるので、半角スペース字下げに個別対応してるのでしょう。

どちらにしても利用者側からは何も出来ません。
    • good
    • 0

こんにちは 難しいご質問なので回答になっていませんが


サイトの仕様なので仕方ないでしょうかね

見易く読み易く であれば どのみちデバッグ対象のコードなので
VBEに貼り付けてインデントを入れて読むでしょうか(PCの場合)
PCでは見ないという事かも知れませんね
流し読み程度ならインデントが無くともと思うのは私だけかも知れません

以前は多くの回答者が
文字列頭の半角スペース2つを全角スペースに置き換えて投稿していましたが
数年前仕様が変わり 1行の表示文字数が少なくなりました
インデントがあるとコードの途中で意図しない段落が頻繁に出来てしまうので見難くなってしまいました

そのような理由で全角スペースに置き換えて投稿するのを私はやめましたね

テキストレベルの投稿サイトなので文字列頭の半角スペースが自動で消されるのは仕方ないかもしれませんね(資源の節約やアプリとの互換などを想像)
スプリントなどのQAサイトではコード用の書き込みボックスがありますね

ちなみに1行が比較的短いコードですが
以前はこんな感じで投稿

'ListObjectの15列目の重複を調べ下位の重複値のあるデータ行を選択
Dim Dic As Object
Set Dic = CreateObject("Scripting.Dictionary")
Dim ListRow As Object
Dim deltRng As Range
Dim v As String
With ActiveSheet.ListObjects("テーブル1")
  For Each ListRow In .ListRows
    v = ListRow.Range.Cells(15).Value
    If Not Dic.Exists(v) Then
      Dic.Add v, 0
    Else
      If deltRng Is Nothing Then
        Set deltRng = ListRow.Range
      Else
        Set deltRng = Union(deltRng, ListRow.Range.Cells)
      End If
    End If
  Next
  If Not deltRng Is Nothing Then
    deltRng.Select
  End If
End With


Set deltRng = Union(deltRng, ListRow.Range.Cells)は
ぎり段落が出来るのではと?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!