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

エクセルVBAについて質問です。次のページにあるようなマクロを作ってください。
http://hatena88.web.fc2.com/hatena/newpage2.shtml
長めマクロなので、最初に正解された方に200ポイント、2位以降の方に50ポイント差し上げます。

なお、上記のページで更にいくつかの質問があります。これらに答えてもらうことと、下記のページで回答者4の方がされているような解説を入れてもらうことも有効回答の条件とさせていただきますのでよろしくお願いします。
http://q.hatena.ne.jp/1158311664

●質問者: taroemon
●カテゴリ:コンピュータ
✍キーワード:VBA いただきます エクセル ポイント マクロ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● takomaro
●60ポイント

以下のマクロを標準モジュールにコピペでできると思います。

ただ、連続的に行うとTXTの内容に挿入されていくので一度作ったファイルは移動するか名前を変更しないとおかしなことになります。

Option Explicit '配列宣言

Dim Y 'セルY軸座標

Dim Text1, Text2, Text3 '合成する文字列

Dim Tmp 'メモ帳起動用

Sub TEST()

'セルの座標

Y = 2

'計算の都度、メモ帳をアクティブにして書き出すのは時間がかかるため

'はてな.txtに書き出し、後で変換する

'ファイル「はてな.txt」を書き込みできる状態に

Open "D:\はてな.txt" For Append Access Read Write As #1

Do '1列目のデータがなくなるまでループ

'書き出す文字列作成

'1列目

Text1 = Cells(1, 1).Text & Cells(Y, 1).Text

'2列目

Text2 = Cells(1, 2).Text & Cells(Y, 2).Text

'5列目

Text3 = Cells(1, 5).Text & Cells(Y, 5).Text

'?列に変更するときは"Cells(1, X)"のXを任意の列番号に代えてください(2つとも)

'ファイル「はてな.txt」に書込み

Print #1, "XXX"

Print #1, "YYY"

Print #1, Text1

Print #1, Text2

Print #1, Text3

Print #1, "ZZZ"

Print #1, "========"

Print #1,

Print #1, "--------"

'処理を次の行へ

Y = Y + 1

Loop Until Cells(X, Y) = ""

'ファイル「はてな.txt」を書込みできる状態から開放

Close #1

'メモ帳を開いて「はてな.txt」を読み込む

'メモ帳をアクティブ

Tmp = Shell("notepad.exe", 1)

'「はてな.txt」を読込み

SendKeys "%FO", True

SendKeys "D:\はてな.txt", True

SendKeys "{ENTER}", True

'名前を代えて保存で名前・文字コード変更

SendKeys "%FA", True '%:「Alt」キー相当 ファイル-名前を付けて保存

SendKeys "%E", True '文字コード選択

SendKeys "{DOWN}{DOWN}{DOWN}", True 'UTF-8を選択 {DOWN}:「↓」キー

'文字コードは選択式ですので{DOWN}の回数でUTF-8にあわせてください。

'当方の文字コードは

'ANSI

'Unicode

'Unicode Big endian

'UTF-8

'となっているため標準「ANSI」から{DOWN}3回となってます

SendKeys "%S", True '保存

SendKeys "Y", True '上書き確認

SendKeys "%FX", True 'メモ帳終了

End Sub

参考

※Sendkeyについて過去にはてなであった質問

http://q.hatena.ne.jp/1159092555

関連質問


●質問をもっと探す●



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