Excel VBA質問箱 IV

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

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


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

【77474】Re:セル内への文字入力
質問  桃太郎  - 15/10/15(木) 16:31 -

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

申し訳ありません。未熟なため、質問内容自体に私の勘違いがありました。

元に書いたコードでも結合セルに文字入力は出来ました。

デバックを要求されたのは、そこから改良しようと思ったコード自体に誤りがあるようです。

Selection.Value = Selection.Value & Cells(21, 17).Value

これは選択したセルの内容を残しつつ、そこからさらにCells(21, 17)の文字を
書き込めるようにしたつもりですが、この構文が間違っているようです。

再度申し訳ありませんがご指導ください。
・ツリー全体表示

【77473】Re:セル内への文字入力
発言  β  - 15/10/15(木) 7:38 -

引用なし
パスワード
   ▼桃太郎 さん:

結合セルも考慮するなら

Selection(1).Value = Cells(3, 2).Value

としてください。
・ツリー全体表示

【77472】セル内への文字入力
質問  桃太郎  - 15/10/15(木) 3:45 -

引用なし
パスワード
   よろしくお願いします。


選んだセルに、特定セルに書かれている文字を入力するというマクロを使っており
重宝しております。例えば

Selection.Value = Cells(3, 2).Value


というコードですが、これだと結合セルにはうまく行かずデバックを要求されました。

どうすればいいか教えていただければ幸いです。
・ツリー全体表示

【77471】Re:VBAのロックについて
発言  β  - 15/10/14(水) 15:53 -

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

このサイトの上のほうに こちら をご一読ください。 という記述があります。
その こちら をクリックして、その中の マルチポストに関する、この掲示板のポリーシーを熟読願います。

この掲示板ではマルチポストを禁止してはいませんが、その際のマナーは守りましょう。
・ツリー全体表示

【77470】VBAのロックについて
質問  ゆう E-MAIL  - 15/10/14(水) 14:28 -

引用なし
パスワード
   エクセルファイルを配布時にマクロの記述を見られてくありません。

通常は、VBAの「ツール」-「プロパティ」で『プロジェクトを表示用にロックする』でパスワードをかけるかと思いますが、
解除ツール等が出まわっています。

そこで、パスワード入力画面も出さずに「プロジェクトがロックされています」「プロジェクトを表示出来ません」という様にするには
・ツリー全体表示

【77469】Re:ちょっと原因がわかりました
お礼  桃太郎  - 15/10/14(水) 3:02 -

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


>Set rngCurrent = Range("E4:AI40") に変更。

表は37行目までだったので("E4:AI37")にして、全て解決しました。
一部参照本見てもよくわからないコードなので助かりました。

とてもとても感謝いたします。
・ツリー全体表示

【77468】Re:ちょっと原因がわかりました
発言  β  - 15/10/14(水) 0:39 -

引用なし
パスワード
   ▼桃太郎 さん:

Set rngCurrent = Range("D4:AH32") これを
Set rngCurrent = Range("E4:AI40") に変更。

chk = Cells(40, col.Column).Value これを
chk = Cells(45, col.Column).Value に変更。


>内部は縦も横も書式設定でなしの下に出てくる細かい点線でした。

元のコードには、横の点線をセットするコードは、無いと思うんですが?
もし、セットするなら、

  '土日枠

このコメントの前あたりに

  '領域内部に横 HairLine
  With rngCurrent.Borders(xlInsideHorizontal)
    .LineStyle = xlContinuous
    .ColorIndex = xlAutomatic
    .TintAndShade = 0
    .Weight = xlHairline
  End With

を追加してみてください。
・ツリー全体表示

【77467】ちょっと原因がわかりました
発言  桃太郎  - 15/10/13(火) 20:54 -

引用なし
パスワード
   7年も経って昔の事がわからなくなっていました。

40行目に罫線作戦用のWEEKDAY関数が置いてありました。
何故そんな所に作ったのか忘れてしまいましたが、
昔もセル行を増やして、困ってあれこれした覚えがあります。

しかし今は何で40行目なのかわからなくなってしまいました。

今回の行を増やしたことにより罫線作成のためのと記してある
行は45行目に移動していました。

とすると元のコードのその部分を変更すればよいのでしょうか?

しかし私にはコードのどこが該当してどう直せばよいのかわかりません。
申しわけありませんが、そこの部分を教えてください。

βさんのコードも動きませんでした。これも45行目判定になったせいだと思われます。
・ツリー全体表示

【77466】遅くなりましてすいません
発言  桃太郎  - 15/10/13(火) 20:36 -

引用なし
パスワード
   また説明不足で申し訳ありません。

対象領域はE4からAI40です

土日の判定はどうしているのか、コードからわからなかったのですが

E4〜AI4 まではDATE関数により1日から31日まで表示されます。
E5〜AI5 まではWEEKDAY関数が置いてあり4行目のシリアルから曜日が表示
されるようにしてあります。

罫線は上下の端のみ普通の細線、内部は縦も横も書式設定でなしの下に出てくる
細かい点線でした。

βさんのコードためさせていただきますね
・ツリー全体表示

【77465】Re:セルの内容をテキスト化するマクロの...
お礼  SHO  - 15/10/13(火) 11:46 -

引用なし
パスワード
   ウッシーさん

はい!こちらで大丈夫です。

上のスレッドでも書いてしまいました。
申し訳ないです。

今回はありがとうございました!
自分で書けるようにがんばります!
・ツリー全体表示

【77464】Re:セルの内容をテキスト化するマクロの...
回答  ウッシ  - 15/10/13(火) 11:44 -

引用なし
パスワード
   >日付のセルの出力もスペースと矢印を先頭に追加する処理が欲しいです。

- 15/10/13(火) 11:26 - のコードがそうなっているはずです、多分・・・
・ツリー全体表示

【77463】Re:セルの内容をテキスト化するマクロの...
回答  SHO  - 15/10/13(火) 11:40 -

引用なし
パスワード
   ウッシーさん

ソースを作っていただいたもの気づくのが遅くなりましてすみません。

全然遅くなっておりません。
感動しました!ありがとうございます。

作っていただいて申し訳ないのですが、
日付のセルの出力もスペースと矢印を先頭に追加する処理が欲しいです。
依頼の内容に不足があり申し訳ありません。

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

【77462】Re:セルの内容をテキスト化するマクロの...
回答  ウッシ  - 15/10/13(火) 11:26 -

引用なし
パスワード
   >はい、9行目の要望は2つです。

という事は

  Do Until GYO > GYOMAX
    strREC = Cells(GYO, 7).Value & _
      IIf(Cells(GYO, 8).Value <> "", " ・" & Cells(GYO, 8).Value, "") & _
      IIf(IsDate(Cells(GYO, 9).Value), " →" & Format(Cells(GYO, 9).Value, "m/d(aaa)"), _
        IIf(Cells(GYO, 9).Value <> "", " →" & Cells(GYO, 9).Value, "")) & _
      Cells(GYO, 10).Value
    lngREC = lngREC + 1
    xlAPP.StatusBar = "出力中です....(" & lngREC & "レコード目)"
    ' レコードを出力
    Print #intFF, strREC
    GYO = GYO + 1
  Loop

こっちですか?
・ツリー全体表示

【77461】Re:セルの内容をテキスト化するマクロの...
回答  SHO  - 15/10/13(火) 11:10 -

引用なし
パスワード
   ▼ウッシ さん:

こんにちは
レスありがとうございます。

はい、9行目の要望は2つです。
説明足りず申し訳ないです。
よろしくお願いします。
・ツリー全体表示

【77460】Re:セルの内容をテキスト化するマクロの...
回答  ウッシ  - 15/10/13(火) 10:58 -

引用なし
パスワード
   こんにちは

遅くなる可能性大ですが、

  Do Until GYO > GYOMAX
    strREC = Cells(GYO, 7).Value & _
      IIf(Cells(GYO, 8).Value <> "", " ・" & Cells(GYO, 8).Value, "") & _
      IIf(IsDate(Cells(GYO, 9).Value), Format(Cells(GYO, 9).Value, "m/d(aaa)"), _
        IIf(Cells(GYO, 9).Value <> "", " →" & Cells(GYO, 9).Value, "")) & _
      Cells(GYO, 10).Value
    lngREC = lngREC + 1
    xlAPP.StatusBar = "出力中です....(" & lngREC & "レコード目)"
    ' レコードを出力
    Print #intFF, strREC
    GYO = GYO + 1
  Loop

こんな方法も。
・ツリー全体表示

【77459】Re:セルの内容をテキスト化するマクロの...
質問  ウッシ  - 15/10/13(火) 10:52 -

引用なし
パスワード
   こんにちは

・9列目に格納されてると先頭に全角スペースと「→」を追加して出力。
・9列目の内容が日付だった場合は「月/日(曜)」の書式で出力。

9列目の条件が2つですか?
・ツリー全体表示

【77458】セルの内容をテキスト化するマクロの機能...
質問  SHO  - 15/10/13(火) 10:37 -

引用なし
パスワード
   はじめまして。
ネットで展開されているソースを改変して使うのが精一杯の
VBA初心者で皆様のお力をお借りしたく投稿させていただきます。

起動させるとセルの内容をテキスト化するマクロなのですが、
下記のループで以下の機能を追加していただきたいのです。
・8列目に格納されてると先頭に全角スペースと「・」を追加して出力。
・9列目に格納されてると先頭に全角スペースと「→」を追加して出力。
・9列目の内容が日付だった場合は「月/日(曜)」の書式で出力。


  Do Until GYO > GYOMAX
    strREC = Cells(GYO, 7).Value & Cells(GYO, 8).Value & Cells(GYO, 9).Value & Cells(GYO, 10).Value           
    lngREC = lngREC + 1
    xlAPP.StatusBar = "出力中です....(" & lngREC & "レコード目)"
    ' レコードを出力
    Print #intFF, strREC             
    GYO = GYO + 1
  Loop


質問に不足ありましたらご指摘ください。
よろしくお願いします。
・ツリー全体表示

【77457】Re:カレンダーに青太線
発言  β  - 15/10/13(火) 10:22 -

引用なし
パスワード
   ▼桃太郎 さん:

申し上げたように、要件を具体的に説明いただければ、適切な回答も可能かと思いますが
以下は、想像をたくましくしたコード案です。
領域や、罫線要件に誤解があるかもしれませんが。

Sub test()

  Dim rngCurrent As Range
  Dim col As Range
  Dim chk As Variant
  
  Set rngCurrent = Range("D4:AH32")
  
  Application.ScreenUpdating = False

  '領域の罫線を処理前に削除
  rngCurrent.Borders.LineStyle = xlNone
  '左端、右端含めて、縦に HairLine
  With rngCurrent.Offset(, -1).Resize(, rngCurrent.Columns.Count + 2).Borders(xlInsideVertical)
    .LineStyle = xlContinuous
    .ColorIndex = xlAutomatic
    .TintAndShade = 0
    .Weight = xlHairline
  End With
  '領域上端、下端に細実線
  With rngCurrent.Borders(xlEdgeTop)
    .Weight = xlThin
    .ColorIndex = xlAutomatic
  End With
  With rngCurrent.Borders(xlEdgeBottom)
    .Weight = xlThin
    .ColorIndex = xlAutomatic
  End With
  '土日枠
  For Each col In rngCurrent.Columns
    chk = Cells(40, col.Column).Value
    Select Case chk
      Case 1, 7
        '列上端、下端に青太線
        With col.Borders(xlEdgeTop)
          .Weight = xlMedium
          .ColorIndex = 11
        End With
        With col.Borders(xlEdgeBottom)
          .Weight = xlMedium
          .ColorIndex = 11
        End With
        '左あるいは右に青太線
        With col.Borders(IIf(chk = 1, xlEdgeRight, xlEdgeLeft))
          .Weight = xlMedium
          .ColorIndex = 11
        End With
    End Select
  Next
  
  Set rngCurrent = Nothing

  Application.ScreenUpdating = True

End Sub
・ツリー全体表示

【77456】Re:アドインタブにアドイン側からボタン...
発言  独覚  - 15/10/13(火) 9:33 -

引用なし
パスワード
   ここのサイトの基本方針から引用です。

>マルチポストについて
>別のサイト(掲示板)にまったく同じ目的の投稿をすることを、一般に「マルチポスト」といいます。
>当質問箱では、マルチポストは原則認めています。
>つまり、ほかのサイトで質問したことをこのサイトで質問してもかまわないということです。

>しかし、もしマルチポストをするのなら、可能な限り「○○にも同じ質問を出しました」ということを宣言してください。
>そして、仮に他のサイトで解決したのなら、ここにも必ずその顛末を書いてください。
>質問しっぱなし、というのはモラルに反します。「解決したからいいや」というのではありません。

>また、マルチポストを明示的に禁止しているサイトとのマルチポストをしてはいけません。

ということですのでマルチポスト先の報告をお願いいたします。
・ツリー全体表示

【77455】Re:カレンダーに青太線
発言  β  - 15/10/13(火) 7:48 -

引用なし
パスワード
   ▼桃太郎 さん:

想像ですけど、レイアウトと罫線要件は以下のようなことですか?

・対象の領域は E4:AI32
・領域の上端、下端には、細線の黒
・領域の縦方向には左端、右端含めてヘアライン
・その上で各列の40行目の値(曜日が数字ではいっているんでしょうかね)を参照し
 7なら左、上端、下端が青太線、1なら右、上端、下端が青太線。
 結果的に 7,1 が連続していれば(土、日 ですかね)週末の縦2列が青太線で囲まれる。

こういうことでしょうかね?

この場合、将来、また行が増えるとすれば、40行目の判定場所もデータ行になるかもしれませんね。
行が増えても問題のない場所、矩形領域の上のほうに、それをもっていったほうがいいと思いますね。
・ツリー全体表示

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