office365のExcelを使っている者です。
以前ここで,エクセルで選択した範囲の値のみをクリップボードにコピーする以下のコードを教えていただき,現在も使用しております。
適切に動いていると思いますが,一点気になることがあります。
クリップボードにコピーされたデータを貼り付けると,横方向のセルの区切り(エクセルをcsvにしたときのコンマ区切りに相当するもの)にスペースのような空白(以下「空白」)が入ってしまい、間延びした感じになってしまいます。
「空白が削除された状態でクリップボードにコピーされる」又は「クリップボードにコピーされたデータにつき空白が削除された状態にする」というコードにするには,どのようにしたら良いかご教示ください。
Sub 値のみコピー()
Dim ary As Variant
ary = Range("A10:J30").Value '選択範囲の値を一旦配列に格納
' Dim myDO As New DataObject
Dim myDO As Object
Set myDO = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
Dim i As Long, j As Long
Dim strBuf As String
For i = 1 To UBound(ary, 1)
For j = 1 To UBound(ary, 2)
strBuf = strBuf & ary(i, j) & vbTab
Next
strBuf = Left(strBuf, Len(strBuf) - 1) '右のタブコードを削除
strBuf = strBuf & vbCrLf '改行コードを付加
Next
myDO.SetText strBuf
myDO.PutInClipboard
Set myDO = Nothing
End Sub
No.2
- 回答日時:
こんばんは
なさりたいことがよくわかりませんけれど・・・
面倒なマクロなど利用しなくても普通に「コピー」して、ペースト時に「形式を選択して貼り付け」-「値を貼り付け」で済むと思いますけれど・・?
解決しました。
なお,値のみで貼り付けても,同じく間延びした感じになってしまいます。
そこの修正ができたのと,範囲を選択しないで済むあたりがマクロを使うメリットかなと思います。
No.1
- 回答日時:
「スペース」「タブ」「改行」ではなく「カンマ」で区切ればいい。
そんだけの事ですね。
まずは今使っているコードについて理解することから始めましょう。
・・・
ここは「代わりにマクロを作ってください」と作業依頼する場所ではありません。
自力で問題解決できるようになるためのアドバイスを貰う場所です。
マクロを教えてくださった方は、自力でマクロを読んで理解したうえで使ってくれると考えていると思います。
それをまた他人に「作り直せ。俺様の成果として使ってやるwww」なんてことをしてはいけません。
そのコードの中で何が分からないのか。
また分からないなりに何を調べて理解できなかったのかを併記しましょう。
/***投稿ガイドラインから抜粋***
【他の人に不快・迷惑と感じられてしまう行為】
下記のような行為については、たとえわざとではなくても、結果として他の人にマナー違反であり不快・迷惑と感じられてしまう可能性があります。もし知らずに行ってしまった場合でも、繰り返さないようにご注意ください。
(中略)
■宿題や課題などの「作業依頼(丸投げ)」
学校の課題等に関して、ご自身なりに解答を考えたプロセスの説明も無く、単に解答のみをそのまま依頼・募集するような内容(いわゆる「丸投げ」)の投稿は、閲覧される方や回答者に不快に思われる恐れがあります。
また、社会的マナーや回答者に対する敬意や配慮、尊重の気持ちにも欠けていると思われる場合もありますので、お控えください。
まずはご自身で課題に取り組み、その結果どうしても一部の箇所について理解が出来ない、どう進めばいいか分からない、といったようなご自身なりの解答プロセスの説明もした上でアドバイスを求めるようにしましょう。
***ここまで***/
これに相当してしまいますよ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
【VBA】エクセルで選択した範囲の値のみをクリップボードにコピーするコードについて
Excel(エクセル)
-
エクセルVBAでセル範囲のデータをクリップボードに
その他(Microsoft Office)
-
セルの値だけクリップボードにコピーするマクロ
Visual Basic(VBA)
-
-
4
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
5
EXCEL/VBA 変数の値をクリップボードにコピーする方法
Visual Basic(VBA)
-
6
セル内のテキストをクリップボードにコピーするVBA
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSVファイルの中で、「 , 」カ...
-
EXCELからCSVにすると余計なカ...
-
マクロを使ってフォルダー内に...
-
WORDで改ページすると時々グレ...
-
データにカンマが入ったCSVデー...
-
Excelについて質問です。 セル...
-
メッセージボックスの数字をカ...
-
エクセルで数値を全角文字(カ...
-
VBScript 日付の比較について
-
カンマ区切り
-
エクセル:桁区切り「カンマ」...
-
VB2005のTextBoxでカン...
-
「カンマ」と「コンマ」は同じ...
-
SUM関数を利用すると自動的に桁...
-
エクセル セルの書式設定 ユ...
-
delphiで数値をカンマ区切りの...
-
JPY ¥1,500.00は日本円でお幾ら?
-
VBA 文字に半角が含まれて...
-
英数字のみ全角から半角に変換
-
住宅にカナを入力する際に丁目...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CSVファイルの中で、「 , 」カ...
-
エクセルで数値を全角文字(カ...
-
EXCELからCSVにすると余計なカ...
-
カンマ区切りの数字をCSVフ...
-
CSVの定義
-
WORDで改ページすると時々グレ...
-
マクロを使ってフォルダー内に...
-
データにカンマが入ったCSVデー...
-
何故、日本は未だに数字を3桁...
-
カンマ区切り
-
JPY ¥1,500.00は日本円でお幾ら?
-
Excelについて質問です。 セル...
-
データグリッド内の数値をカン...
-
[VBA][Excel]クリップボードか...
-
3桁ごと?4桁ごと?コンマの...
-
C#で、テキストボックスの入力...
-
VB2005のTextBoxでカン...
-
エクセル セルの書式設定 ユ...
-
「カンマ」と「コンマ」は同じ...
-
VBAでtxtファイルを読み込む際...
おすすめ情報