エクセルで表を作る工程をマクロで記録させて、その後、マクロを実行して特定の表を作ろうと思っても、実行の途中で止まってしまいます。特に、列の幅を変更せずに、途中でとまってしまいます。マクロを使って表を作りたい理由は、エクセル以外のあるデータをエクセルに移動することがよくあって、移動させた直後はエクセルの標準の形式として表になっているので、列幅を変更したり、フォントを変更したり、列の順番を入れ替えたりすることを、自動でおこないたいのです。どなたか教えてください。パソコンのメモリか何かのもんだいですか?わからなくてほんとにこまっています。どなたか教えてください.よろしくおねがいします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

作成工程を記録し、マクロで実行することは意味があると思いますが、デメリットとして、記録した工程を変更する時に困りませんか?


Excel以外のデータを読み込む場合、これを何度も行うなら、
●作成するシートの列幅やフォントを望む形式にしておいて、VBAでExcel以外のデータを読み込み、セルに貼り付ける(テキストファイル、CSVファイルを想定しています)
●一旦Excelの機能でデータをシートに読み込み(標準の形式のシートです)、作成するシート(望む形式です)に算式を使って登録
のような方法もあると思います。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2001/01/22 10:24

マクロを動かすときに、「実行」ボタンではなく、「ステップイン」で実行してみてください。


そのあと、F8を押すとプログラムを1行ずつ実行していきますので、エクセルのシートと見比べならが、動作のおかしいところを調べてみてください。
    • good
    • 0

困りましたね。


このような質問に回答するには、プログラムを見ないと何ともお答えできませんね。
多分、プログラムに問題があるとは思いますが。

周りにエクセルのマクロに詳しい方を探して、実際にプログラムを見せて、直して貰うより手はないと思いますよ。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2001/01/22 10:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Q(Excel)エクセルのバージョンごとの使用可能関数リストがあるサイト

(Excel)エクセルのバージョンごとの使用可能関数リストがあるサイト

Excel2007でIFERROR関数などを使っていました
しかし、以前のExcelバージョンだと使えないようです。
そこで、どの関数がどのExcelバージョンから使用可能か?
というリストのようなものを掲載しているサイトはありますか?

Aベストアンサー

下記ページで2007で追加された関数が解ります。

Excel(エクセル)基本講座:Excel(エクセル)関数一覧表
http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/itiran.html

Qこの列が変更されたらマクロ実行、というコードで、○列目だけは除外としたい

B列からR列目までが変更されたらマクロ実行というコードを組んでいます。
その中で、C列とD列だけは除外としたいのですが、どのようにしたらいいのでしょうか?

コードの始まりは以下のような感じです。

Private Sub worksheet_change(ByVal Target As Range)
c = Target.Column

If 2 <= c And c <= 16 Then

Aベストアンサー

If 2 <= c And c <= 16 and c <> 3 and c <> 4 Then
では?

QExcel関数のようなものはありますか?

こんにちは。まだプログラミングをほとんどしたことがないのでわからないことがあります。

現在Excelを使っていますがExcel関数は非常に使いやすいく重宝しています。
Excel関数は300種類ほどあるそうですが、C++やVB、C#、JAVAなどのプログラムにもExcel関数のようなものが
あらかじめ用意されているのでしょうか?
もしExcel関数の中で使いたいものがあり、そういう関数がソフト側で用意されてない場合は自作するしかないのでしょうか?

Aベストアンサー

office2003以降かつ.Netで作成という話しなら、事実上「ある」に等しいかもしれませんね。

.Netの場合、ライブラリとして読み込む側の言語についてあまり意識する必要はありません。(JAVAで本体のプログラムという訳にはいかないが)
とはいえ、プログラム経験が浅いのでしたら、VB.NETでやるというのが吉であると思います。(関数のみならず、マクロも利用できますのでね/office2003以降)

# 開発環境を安くならC#となります(Borland C#Builderなら無料)

参考URL:https://mypage.borland.co.jp/mypage/index.html?ret_to_semi_list=1&page_act=LI_REG

QWordで作成した表の列幅変更について

特定のセルを選んで幅を変えたいとき、セルを範囲指定してから縦線をドラッグすると聞いたのですが、何度やっても同じ列にある他のセルの幅も変わってしまい困っています。どうしてでしょうか?お教えください。

Aベストアンサー

ドラッグしている縦線ですが、選択しているセルの右側にある
縦線をドラッグしなければいけません。
ドラッグされているのは、選択しているセルがある列の
他のセルの右側ではないでしょうか。

例えば、3行×3列の表があり、その表の特定のセル(1列目の2行目)
を選択している場合、ポインタのあわせる場所は、その特定のセルの右側
(1列目の2行目の右)であり、
同じ列の他のセルの右側(1列目の1行目や3行目)だと
列全体の幅が変わってしまいます。
(WORD2000での確認)

QExcel関数について

Excel関数についての質問です。


Excel関数で、実際の仕事上でよく使う関数、ベスト5を教えてください。

また、覚えやすいコツなどがありましたら、教えて頂きたいです。

よろしくお願いします。

Aベストアンサー

うーん…仕事でどういったものを使いたいかによりますが…基本として、

SUM (サム)
指定範囲の合計を出します。
合計はサム!みたいにして覚えました。

--------------------------
IF
if文は結構使いました。
if(A1="","○","×")  ⇒ もし、A1が空なら,○を入力、違うなら×を入力
if(A1="","○",IF(A1="?","△","×")) ⇒ もし、A1が空だったら、○を入力、
                         それ以外で、?が入っていたら△を入力、それ以外は×を入力

とか、色々使えます^^
他の関数とも組み合わせて、とても便利です。

-------------------------
COUNTIF(カウントイフ)
条件にあったものの個数を数えます。

COUNTIF(A1:A5,"正解") 正解と書かれている個数を数えます

--------------------
TODAY
今日の日付が表示されます。
---------------------


他にも、平均を出すものや
便利なものはたくさんあります。
その都度、やりたいことを検索して
使っていくのがベストかな?と思います。
Excelの、挿入⇒関数のところで、
検索もできたはずです。


参考リンク
http://pc.nikkeibp.co.jp/pc21/tech/excel36/
http://matome.naver.jp/odai/2135607317537215601
http://www.enjoy-web-jp.com/jp/excel/excel00.html


また、セルの書式設定のユーザー定義はとても便利です。
書き方を勉強しておくと役立つかもしれません。

以上、参考まで

うーん…仕事でどういったものを使いたいかによりますが…基本として、

SUM (サム)
指定範囲の合計を出します。
合計はサム!みたいにして覚えました。

--------------------------
IF
if文は結構使いました。
if(A1="","○","×")  ⇒ もし、A1が空なら,○を入力、違うなら×を入力
if(A1="","○",IF(A1="?","△","×")) ⇒ もし、A1が空だったら、○を入力、
                         それ以外で、?が入っていたら△を入力、それ以外は×を入力

とか、色々使えます^^
他の関数とも組...続きを読む

Qエクセルで作った表の(行幅や列幅)を優先して固定する方法は?

エクセルで、文字入力する一覧表を作りました。 1ブック内で4sheetに分けていますが、それぞれのsheetに、行の移動を簡単にする意味で、行の幅や列幅を全て同じにしてあります。 本当は、この行幅や列幅が動かないようにしたいのですが、何処を探しても方法が分からなかったので、上記のようにしました。
処が色々な人が触るので、直ぐに幅や高さが動いてしまい、移動がすんなりとは出来ない状態になります。移動方法は色々あるのは知っていますが、基本的に行や列サイズを変えてはいけないデーターなんです。で、その都度、4sheetのサイズを計り、手直し後に移動の始末です。 この表を固定する方法は無いでしょうか? 文字入力よりも、最優先は、表全体の列・行サイズ保持です。4sheet共に表を基本のサイズに印刷する必要があるのです。 どなたか分かる方、教えて下さい。(1sheetに纏めると、サイズのズレに気付かずに印刷する恐れがあるので分けてます)

Aベストアンサー

>入力は誰がどう変えようとOK。とにかく、列と行の幅だけを動かされないようにしたいために困っています。(削除、移動出来る事も条件) 難しいですよね。

列行の移動はできませんが、削除、挿入はできます。
1.行の高さ・列の幅を確定
2.シート全体のロックを解除する
 シート全体を選択 → 書式 → セルの書式設定 → ロックのチェックを解除
3.ツール → 保護 → シートの保護
4.個のシートのすべてのユーザーに許可する操作の「列の挿入」「行の挿入」「列の削除」「列の挿入」をチェック
5.OK

QEXCEL ゴールシークの関数?

EXCEL ゴールシークの関数?
ゴールシークを画面操作をしなくて ゴールシーク機能を持つ 関数はありませんか?
無ければ 複合関数は? VBを使わないでEXCEL関数だけで 求める方法を探しています。

Aベストアンサー

こんにちは。

例えば、財務関数のNPVなどがありますが、ゴールシークの代わりに、関数だけで、オプションの循環参照計算があります。そうでなければ、基本的な話ですが、微分を使うか、もしくは、ミスが出やすいのですが、オートフィルで、目的の値を探すか、いずれかの方法があると思います。

ただ、VBというか、マクロのことだと思いますが、そういう区分けはあまり意味のないことだと思います。それは、アドインもピボットも、コマンドの3分の1程度は、動的なプログラムを使っているからです。また、分析ツールは完全にExcelの古いマクロです。

私は、マクロを中心とする回答者のひとりです。何かを使わないという条件付き質問は、学校のテストやクイズやお遊びとしてはありえるとしても、ゴールシークというものは、論理的な計算ではなく、反復する時系列な計算です。それは、基本的にマクロにほかなりません。ただし、私たちが考えるよりも、遥かに速い処理です。それを論理的な計算をするというなら、その求める具体的な質問がなければ、話は進みません。解答を求めたいなら、方法論は何でもアリではないかと思います。そうでないなら、純粋に数式で計算させるMathematica のようなもののほうが良いと思います。

こんにちは。

例えば、財務関数のNPVなどがありますが、ゴールシークの代わりに、関数だけで、オプションの循環参照計算があります。そうでなければ、基本的な話ですが、微分を使うか、もしくは、ミスが出やすいのですが、オートフィルで、目的の値を探すか、いずれかの方法があると思います。

ただ、VBというか、マクロのことだと思いますが、そういう区分けはあまり意味のないことだと思います。それは、アドインもピボットも、コマンドの3分の1程度は、動的なプログラムを使っているからです。また、分...続きを読む

Q列幅を変えたエクセルのシートに別のシートの表を貼付ると幅がおかしくなるときの対処法

シート1に作った表があり、シート2にも表があり、シート2の表をコピーしてシート1の表の下に貼り付けたら列幅の違いが原因で、シート2の表が大きく崩れてしまいました。

シート2の表の体裁を崩さずに、貼り付ける方法はありますか?

目的は、シート1に表をまとめて、隙間なく印刷したかったのです。

また、セルの結合や表の幅の整えは最後に行った方がよろしいのでしょうか?
整えた後に、移動させたり、別の編集をしようとすると、セルの結合により、動かせなかったり、
結合を解除しなければならないので・・。

よろしくお願いいたします。

Aベストアンサー

sheet3は列幅大、Sheet4は列幅小とします。
Sheet4のデータ部分を範囲指定してコピー
Sheet3のデータの下のセルをポイントして
挿入ーコピーしたセルー下方向にシフト

Sheet3の列幅を保存したまま、Sheet4のデータが貼り付けられました。
行高の方は元のままです。

Qexcelのピボット関数

excelのピボット関数はどんな関数ですか?

Aベストアンサー

私自身は「ピボット関数」なる言葉を聞いたことがないけど、貴方はそれを何処で知ったのですか?
ひょっとして、[データベース関数]の中の =GETPIVOTDATA()関数のことでしょうか?
Excel のヘルプ文をお読みになったら如何でしょ。
>ピボットテーブル レポートに格納されているデータを返します。
>GETPIVOTDATA 関数を使用すると、ピボットテーブル レポートに
>表示されている集計データを取得することができます。
で始まる説明があります。
それを読んでから不明なところを質問されることをお奨めします。
何?隅から隅まで、チンプンカンプン?

Qエクセルで1つのシートに9列の表の下に7列の表を同じ大きさで作るには?

タイトルどうりの質問ですが、列と高さの違う二つの表を同じ大きさで作ることはできないのでしょうか?

Aベストアンサー

「セルを結合する」ではダメでしょうか?

仮にA1を起点に9列3行+7列3行の表をつくるとするならば...

1)A1-G1のセルを選択して、マウス右クリック
  →セルの書式設定→[配置タグ]→「セルを結合する」
2)同様にH1-N1まで...同様にBE1-BK1
  計9つ作る
3)A-BK列を選択し、マウス右クリック
  →列の幅→適当な値を入力(ex. 0.5 とか)
4)2で作った行をコピーし、A2-BK2へ貼り付け
  同様に、A3-BK3へ貼り付け
5)A4-I4のセルを選択して、マウス右クリック
  →セルの書式設定→[配置タグ]→「セルを結合する」
6)同様にJ4-R4まで...同様にBC4-BK4
  計7つ作る
7)6で作った行をコピーし、A5-BK5へ貼り付け
  同様に、A6-BK6へ貼り付け

ちょっと判りにくいですかね...
いかがでしょう?


人気Q&Aランキング

おすすめ情報