IT仕事

アンケートソフト秀吉でMAを作るためのExcel自作関数

投稿日:

会社の同僚用に作った。
複数列の回答を「1,2,4」のように1列にしたり、3は無ければ飛ばしたり、先頭と末尾にはカンマつけないで、とか、手作業だと色々面倒な処理を、Excelマクロにした。
以下を標準モジュールに貼って、関数として使ってもらうことにした。

Function CommaSep(範囲 As Range) As String 
'選択された範囲に空白以外が入っている場合のみ左からの連番数値で返す
Dim Rng As Variant, myj As Variant
Dim i As Long
i = 1
For Each Rng In 範囲
  If Rng.Value <> "" Then myj = myj & i & ","
  i = i + 1
Next Rng
If myj = "" Then
  CommaSep = Null
Else
  CommaSep = Left(myj, Len(myj) - 1)
End If
End Function

以下のように、コードをちょっと変えるだけで、いろいろなパターンができそう。

無題

-IT仕事

執筆者:

関連記事

no image

CSSメニューとその下のFlashムービーが重なって見えない

WordPressのTwenty-elevenのテンプレートを元にして、新たなテーマを作っている。 メニューの下にFlashアニメーションを配置したのだが、サブメニューがすっと表示されるときに、アニメ …

Chrome拡張機能isearでWebベースの受注管理システムのアシスト(めちゃ楽!)

毎日の仕事で、CSV入出力でのデータ消込ができないブラウザベースの受注管理システムを使っている(GoQってやつ)。 やりたいことは 未入金の注文データについて、その中から該当する複数ある注文番号でフィ …

no image

AccessのDoCmd.OpenForm acPreviewでデータが表示されない

なぜか、フォームに新規データを入力し、印刷プレビュー(DoCmd.OpenForm “見積請求書F”, acPreview)した際に、それまで入力したデータが消えたようになる。 …

GoogleSpreadSheet上の注文番号をキーにGASでGmailのスレッドにラベルを付加

Gmailにあるメールから、スプレッドシートに記入してある注文番号と、注文入力時につけられた注文ラベルをもとに、スレッドを検索して、検索結果に対して新たなラベル付けをしたかった。 参考Webをもとに、 …

no image

Excelでひとつのセルに入力された文字を適当な長さで2つのセルに分割

ひとつのセルに入力された文字を、適当な長さで分割して2つのセルに分ける処理が、思いの外苦労したので、メモ。 セル内容が、半角のみか全角のみで統一されていればもっと簡単なのだが、住所のようなケースで両者 …