[[20100205122735]] 『エクセルデータをメモ帳に貼り付けてTabを削除しax(Satoko) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『エクセルデータをメモ帳に貼り付けてTabを削除したい』(Satoko)

 毎々お世話になります。
 日々の売上を管理するため、
  A    B    C
 1 FCT:	14,070	
 2 ACT:	18,351	(-5,530,054)
 3 FCT比:130.42%	
 4 昨対比:294.00%	
 5 ■A会社		
 6 当日:	400,000	
 7 累計:	6,000,000	(-1,000,000)
 8 FCT比:165.96%	
 9 昨対比:340.60%	

 のようなデータを作成しております。
 (数字はすべて別ファイルからリンクさせてある)
 これを、アウトルックを使い携帯に毎日送信しているのですが、
 このままをコピー&貼り付けすると、tabスペース(?)が入ってしまい、
 フォーマットが崩れてしまいます。

 そこで、このデータをいったんメモ帳に書き出し、その都度タブを置換させてきたのですが、
 この作業をもう少し簡単に出来ないものかと思案しています。
 現在は、「メモ帳を起動して、データを貼り付ける」というところまでのマクロを作成できたのですが、
 さらにタブを置換、出来あがったデータをコピーまで出来ないでしょうか。
 宜しくお願いします。


 タブ=列間なので、3列しかデータがないのであれば、D列に文字列を結合させたデータを作成
 すればよいかと思います。

 D1=A1&B1&C1
 D1コピー メール本文 送信でいかがですか?
 (通りすがり)

 > このままをコピー&貼り付けすると、tabスペース(?)が入ってしまい、
 > フォーマットが崩れてしまいます。

 tabを除去するだけの問題なら
 貼り付けのとき、Ctrl+V でやったら問題が解消するってことはないですか?

 別途、成形が必要なら、(通りすがり)さんの案を工夫。

 (半平太) 2010/02/05 13:14

 通りすがりさま
 半平太さま

 早速の御回答ありがとうございます。
 文字列の結合とは、目からうろこでした。
 TEXT関数を間に挟み、結合したところ、無事目的が達成できました。
 ありがとうございました。

 解決済みのようですが
 VBAでやるのでしたら、そのまま加工してから
 クリップボードに格納して張り付けるなんて事も出来ます。

  Sub test()
  '「Microsoft Forms 2.0 Object Library」に参照設定
  Dim MyCB As New DataObject
  Dim tbl, tbl2, rv, i As Long
  tbl = Worksheets("Sheet1").Range("A1").CurrentRegion.Value
  ReDim tbl2(1 To UBound(tbl))
  For i = 1 To UBound(tbl)
    tbl2(i) = Join(Application.Index(tbl, i), "")
  Next i
  tbl = Join(tbl2, vbCrLf)
  With MyCB
    .SetText tbl
    .PutInClipboard
  End With
  rv = Shell("NOTEPAD.EXE", 1)
  AppActivate rv
  SendKeys "^V", True
  End Sub

 (momo)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.