人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ツイッターへの投稿のため、エクセルマクロVBAの作成をお願いします。


ある商品シートがあります。(★具体例は追記の形で書きますのでそちらをまずご覧ください)

B列に商品名が入っています。
G列に商品PRが入っているか、数字の「1」が入っています。
Q列に商品URLが入っています。

商品リストは下にたくさんあります。

マクロをかけると、
A列のセル内に、

商品名―商品URL商品PR
(つまり順番はB列⇒全角―(ダッシュ)⇒Q列⇒G列です)

が連結されるようにしていただきたいのです。
(切り取りではなく、コピーの形で)


【注意点】
・G列内が1のときには、「お勧めです!」「ぜひご覧ください」「人気商品です」「●●」「▲▲」
などと、5つくらいの言葉がランダムで結合されるようにお願いします。言葉は書き換えられるように見やすく置いていただけるとたすかります。

・ご存知の通り、ツイッターは140文字投稿です(全角半角関係なし)
140文字をセル内が超えたときは、A列の該当セルが黄色くなるようにしてください

・エクセルはB列に商品名が空白になった時点で止まるようにお願いします。


お手数をおかけしますが、
よろしくお願いいたします。


●質問者: naranara19
●カテゴリ:コンピュータ 科学・統計資料
✍キーワード:PR URL VBA いるか お勧め
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● ?o?ャ宅?
●0ポイント (はてなにより削除しました)
2 ● SALINGER
●100ポイント ベストアンサー

こんな感じでどうでしょうか。

おすすめの言葉の設定箇所もわかると思います。5つだけではなくそのまま増やすこともできます。

Sub Macro()
 Dim i As Long
 Dim h As Variant
 Dim stPR As String
 Randomize
 
 h = Array("お勧めです!", "ぜひご覧ください", "人気商品です", "お買い得です", "チャンス")
 
 i = 2
 While Cells(i, "B").Value <> ""
 If Cells(i, "G").Value = 1 Then
 stPR = h(Int(Rnd * UBound(h)))
 Else
 stPR = Cells(i, "G").Value
 End If
 Cells(i, "A").Value = Cells(i, "B").Value & "―" & Cells(i, "Q").Value & stPR
 If Len(Cells(i, "A").Value) > 140 Then
 Cells(i, "A").Interior.ColorIndex = 6
 Else
 Cells(i, "A").Interior.ColorIndex = xlNone
 End If
 i = i + 1
 Wend

End Sub
◎質問者からの返答

完璧でした!!ご回答もわかりやすく、助かります。またお勧めコメントをもっと増やせるということころが気に入りました。大変嬉しいです。今回も本当に感謝します。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ