質問がバラバラになってしまってすみません!
エクセルVBAで、テキストボックスに値を入れる(1)の 回答13で、
データシートの何行目~何行目までを印刷させる方法(Sheet7にボタン)
をさせるには、どうしたら良いでしょうか?宜しくお願いします。

前回のURL:http://oshiete1.goo.ne.jp/kotaeru.php3?qid=79173
      http://oshiete1.goo.ne.jp/kotaeru.php3?qid=85389

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

A 回答 (11件中11~11件)

シート7にボタンを1つ作成します。

VBAのコントロールツールボックス(トンカチとスパナみたいなアイコン)のコマンドボタンです。

コマンドボタンをダブルクリックして、VBE画面のシート7のシートモジュールに
下記を貼り付けます。13の回答ではCommandButton1が複数表れるので、3番目のボタンの意味でCommandButton3と書いてしまいました。シート7にコマンドボタン1個の場合はCommandButton1となるはずなので job_Print を書けばおしまいです。

====印刷シート7のシートモジュールに貼り付け=====
Private Sub CommandButton1_Click()
job_Print
End Sub

この回答への補足

説明不足ですみませんでした。

パターン毎に印刷する場合と、データの行を範囲指定して印刷する場合とを別々にしたかったのです。現在のボタンは残したままでいいのですが、別にパターンを無視した行の指定をさせたたかったのです。

本当にすみません!説明不足で!よろしくお願いします。

補足日時:2001/06/05 19:04
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

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

QWordのテキストボックスの行間をつめたいのです

Wordのテキストボックスの行間をつめたいのです。

他者からもらった印刷物がありますが、
文字の高さが3.3mmで行間が3.6mm程度です。
Wordでやろうとしていますがなかなかできません。
テキストボックスの中に文字を入れればテキストボックスの上との行間が縮まりますが
テクストボックス内の行間が縮まりません。
どうしたらできますか?

Aベストアンサー

こんばんは!
↓の画像でテキストボックス内の行間を12ptでやってみました。
当方使用のWord2003の場合です。

左側のテキストボックスはデフォルト(ページ設定)の1行の行間そのままです。

(1)テキストボックス内の文字を範囲指定 → メニュー → 書式 → 段落
(2)「インデントと行間隔」タブ → 間隔の「行間」の下向き▼を選択 → 「固定値」を選択(自動で12ptになると思います)
このポイント数で好みの行間に設定できます。

※ 行間とは文字の上端~次の行の文字の上端までですので、行ピッチと言った方が判りやすいかもしれません。

すなわち、フォントサイズよりも小さいpt数を設定してしまうと文字が重なってしまいます。

以上、参考になれば良いのですが
的外れならごめんなさいね。m(_ _)m

Qエクセルで、QNo.6227849(http://oshiete.go

エクセルで、QNo.6227849(http://oshiete.goo.ne.jp/qa/6227849.html)の追加での質問です。

tom04様よりご教授いただきました方法で私の希望はかないましたが・・・

Sheet2にさらに営業の検索条件("全員"にした場合は全て)というように
Sheet2の検索条件を増やした場合どのようになりますか?

ご教授よろしくお願いいたします。

tom04様ご覧になられていましたらm(__)m

Aベストアンサー

こんばんは!
「ハクション大魔王」のようにまたまた参上です!

当方のIDが書かれていたために他の方からの回答はなかったみたいですね!

本当は個人的に呼びかけるのではなく、なるべく多くの方の考え方を参考にされた方が良いと思います。
私が紹介した方法がベストではないと思います。
頭が固い(人間も古い)せいか、どうしても発想の転換ができない場合もあります。

色々な方からの案(方法)を試して、その中から自分に一番適している方法を選択することも必要かと思います。

せっかくご指名をいただいたので、本題の方に入ります。

以前の条件にもう一つ「営業」の表を追加すれば良いわけですかね?
一応そういうことだとして、画像をアップしてみます。
(以前の表をもう一度作成してみましたので、Sheet2の左側が画像から切れていますが以前のままです)
営業の場合は「件数」と「契約料」が必要だと思いますので、勝手に画像のような感じにしてみました。
列方向に項目は変更してもちゃんと表示されるはずです。

↓の画像のようにSheet1にもう1列作業列を設けてみました。
作業列3のK2セルに
=IF(AND(COUNTBLANK(Sheet2!$A$2:$B$2),Sheet2!$N$2=""),"",IF(Sheet2!$N$2="全員",IF(AND(A2>=Sheet2!$A$2,A2<=Sheet2!$B$2),ROW(A1),""),IF(AND(A2>=Sheet2!$A$2,A2<=Sheet2!$B$2,D2=Sheet2!$N$2),ROW(A1),"")))
としてオートフィルで下へずぃ~~~!っとコピー

O2セルは
=COUNT(Sheet1!K:K)

P2セルは
=SUM(Q5:Q1000)

そしてN5セルに
=IF(COUNT(Sheet1!$K$2:$K$1000)<ROW(A1),"",INDEX(Sheet1!$A$2:$H$1000,SMALL(Sheet1!$K$2:$K$1000,ROW(A1)),MATCH(N$4,Sheet1!$A$1:$H$1,0)))

という数式を入れ、列方向と行方向にオートフィルでコピーすると
画像のような感じになります。

尚、以前の回答で5行目の数式も訂正してみてください。

A5セルは
=IF(COUNT(Sheet1!$I$2:$I$1000)<ROW(A1),"",INDEX(Sheet1!$A$2:$H$1000,SMALL(Sheet1!$I$2:$I$1000,ROW(A1)),MATCH(A$4,Sheet1!$A$1:$H$1,0)))

I5セルは
=IF(COUNT(Sheet1!$J$2:$J$1000)<ROW(A1),"",INDEX(Sheet1!$A$2:$H$1000,SMALL(Sheet1!$J$2:$J$1000,ROW(A1)),MATCH(I$4,Sheet1!$A$1:$H$1,0)))

としてこれも列方向と行方向にオートフィルでコピーで大丈夫だと思います。
(日付・ポイント・契約料等の表示形式はそれぞれ修正してください。)

以上、こんなんで良かったのですかね?m(__)m

こんばんは!
「ハクション大魔王」のようにまたまた参上です!

当方のIDが書かれていたために他の方からの回答はなかったみたいですね!

本当は個人的に呼びかけるのではなく、なるべく多くの方の考え方を参考にされた方が良いと思います。
私が紹介した方法がベストではないと思います。
頭が固い(人間も古い)せいか、どうしても発想の転換ができない場合もあります。

色々な方からの案(方法)を試して、その中から自分に一番適している方法を選択することも必要かと思います。

せっかくご指名をいただい...続きを読む

Qエクセル2002/テキストボックス内の文章の行間?

エクセル2002です。
テキストボックス内に書いた文章の行間を任意に変えることが可能ですか?

普通に書くとくっつきつぎで、一行あけると開きすぎなので、一行の半分くらいの行間にしたいのです。
テキストボックスの書式設定は見てみましたが、方法を見つけられませんでした。

Aベストアンサー

あまり良い方法と言えないかもしれませんが。

テキストボックス内に文字を入力します。
そしてテキストボックスの書式設定を出して、配置のタブを開きます。
文字の配置の縦位置を「均等割付」に設定します。
これでテキストボックスの縦の高さに合わせて、行間が広がります。
ちょうど良い行間にテキストボックスの高さを調節します。

Qhttp://okwave.jp/qa/q5776430.html

http://okwave.jp/qa/q5776430.html
の質問に関連したものです。

添付画像のB列をなくした場合
はどこをいじればよいのでしょうか?

入れ子になりすぎてわけがわからなくなってしまいました。
アドバイス頂けると助かります。
よろしくお願いします。




=IF(COUNT($A$2:$A$1000)<ROW(A1),"",INDEX($A$2:$A$1000,SMALL(IF($A$2:$A$1000<>"",ROW($A$1:$A$999)),ROW(A1))))

F2セルには次の式を入力します。

=IF(E2="","",OFFSET(INDEX(A:A,MATCH(E2,A:A,0)),0,2)&IF(OFFSET(INDEX(A:A,MATCH(E2,A:A,0)),1,1)=2,CHAR(10)&OFFSET(INDEX(A:A,MATCH(E2,A:A,0)),1,2),"")&IF(OFFSET(INDEX(A:A,MATCH(E2,A:A,0)),2,1)=3,CHAR(10)&OFFSET(INDEX(A:A,MATCH(E2,A:A,0)),2,2),"")&IF(OFFSET(INDEX(A:A,MATCH(E2,A:A,0)),3,1)=4,CHAR(10)&OFFSET(INDEX(A:A,MATCH(E2,A:A,0)),3,2),"")&IF(OFFSET(INDEX(A:A,MATCH(E2,A:A,0)),4,1)=5,CHAR(10)&OFFSET(INDEX(A:A,MATCH(E2,A:A,0)),4,2),""))

http://okwave.jp/qa/q5776430.html
の質問に関連したものです。

添付画像のB列をなくした場合
はどこをいじればよいのでしょうか?

入れ子になりすぎてわけがわからなくなってしまいました。
アドバイス頂けると助かります。
よろしくお願いします。




=IF(COUNT($A$2:$A$1000)<ROW(A1),"",INDEX($A$2:$A$1000,SMALL(IF($A$2:$A$1000<>"",ROW($A$1:$A$999)),ROW(A1))))

F2セルには次の式を入力します。

=IF(E2="","",OFFSET(INDEX(A:A,MATCH(E2,A:A,0)),0,2)&IF(OFFSET(INDEX(A:A,MATCH(E2,A:A,0)),1,1)=2...続きを読む

Aベストアンサー

なんだかなあ、作業列を使わないと無駄な計算が多い。
A列昇順に並んでいる
5人まで
D2セル
=IF(COUNT(A:A)<ROW(A1),"",SMALL(A:A,ROW(A1)))
E2セル
=IF(D2="","",CHOOSE(MIN(5,IF(D3="",COUNTA(B:B)+1,MATCH(D3,A:A))-MATCH(D2,A:A)),
LOOKUP(D2,A:B),
LOOKUP(D2,A:B)&CHAR(10)&INDEX(B:B,MATCH(D2,A:A)+1),
LOOKUP(D2,A:B)&CHAR(10)&INDEX(B:B,MATCH(D2,A:A)+1)
 &CHAR(10)&INDEX(B:B,MATCH(D2,A:A)+2),
LOOKUP(D2,A:B)&CHAR(10)&INDEX(B:B,MATCH(D2,A:A)+1)
 &CHAR(10)&INDEX(B:B,MATCH(D2,A:A)+2)
 &CHAR(10)&INDEX(B:B,MATCH(D2,A:A)+3),
LOOKUP(D2,A:B)&CHAR(10)&INDEX(B:B,MATCH(D2,A:A)+1)
 &CHAR(10)&INDEX(B:B,MATCH(D2,A:A)+2)
 &CHAR(10)&INDEX(B:B,MATCH(D2,A:A)+3)
 &CHAR(10)&INDEX(B:B,MATCH(D2,A:A)+4)))
D2:E2セル 下へオートフィル

なんだかなあ、作業列を使わないと無駄な計算が多い。
A列昇順に並んでいる
5人まで
D2セル
=IF(COUNT(A:A)<ROW(A1),"",SMALL(A:A,ROW(A1)))
E2セル
=IF(D2="","",CHOOSE(MIN(5,IF(D3="",COUNTA(B:B)+1,MATCH(D3,A:A))-MATCH(D2,A:A)),
LOOKUP(D2,A:B),
LOOKUP(D2,A:B)&CHAR(10)&INDEX(B:B,MATCH(D2,A:A)+1),
LOOKUP(D2,A:B)&CHAR(10)&INDEX(B:B,MATCH(D2,A:A)+1)
 &CHAR(10)&INDEX(B:B,MATCH(D2,A:A)+2),
LOOKUP(D2,A:B)&CHAR(10)&INDEX(B:B,MATCH(D2,A:A)+1)
 &CHAR(10)&INDEX(B:B,MATCH(D2,A:A)+2)
 &CHAR(1...続きを読む

Qパワポのテキストボックスの行間のデフォルト値の設定

パワポ2000を使っています。
テキストボックスを作ると必ず行間が9.99行となっているので、毎回1行に変更しています。作った時点に1行になるように、変更する方法がわかりません。
つまり、パワポのテキストボックスの行間のデフォルトを、現在の9.99行から1行に変更したらよいのですが、変更する方法がわかりません。

Aベストアンサー

行間を1行にしたテキストボックスを選択し、右クリックで「オートシェープの規定値」選択すると次からのテキストボックスは開業行になりませんか?

Qエクセル マクロ webクエリ URL;http://…/2009/03/03/….html って形にするには?

エクセルのマクロでwebのデータを取り込みたいのですが

2009年3月3日のデータを取る時のアドレスがhttp://…/2009/03/03/….htmlの場合
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://…/2009/03/03/….html"
となりますが、これをLoopさせて3/2、3/1、2/28、2/27…のデータを取りたいのですが
どういう形でLoopさせればよいのでしょう?
単純にMonthやDayを使うと1~9月や日は一桁になってしまうと思いますけど

Aベストアンサー

Date型の変数を定義して2009/03/03で初期化後-1しながらLoopでは?

Dim dt As Date
Dim url As String
  dt = DateValue("2009/03/03")
    url = "URL;http://…/" & dt & "/….html"
    dt = dt - 1

Qテキストボックス内の行間の変え方

Microsoft Wordでテキストボックス内の行間を変えるにはどうしたらよいですか。
文字サイズを大きくすると、伴って行間も広くなってしまうのですが、行間だけを指定することができるでしょうか。教えて下さい。

Aベストアンサー

テキストボックス内のテキストを選択して右クリック
「段落」を選択してください。
行間の変更ができます。

Qエクセルで当番表を作ろうと、探していると、http://www.mat

エクセルで当番表を作ろうと、探していると、http://www.matsubarase.com/misc_program/Pipet-HTU.phpと言うサイトを見つけました。自動作成マクロですごく便利なのですが、マクロのpassがある為に、アレンジできません。又、勉強にもなりません。こんなの簡単だと思われる方はたくさんおられると思いますが、どなたか教えて頂けませんか?宜しくお願いします。

Aベストアンサー

そのマクロは、マクロ学校1年生卒業で、難しいことは何もしていません。

ただ、リンク先のツールは、kt関数がないので私の環境では動きません。祝日自体は、政府の来年の発表があるまでは、祝日さえ決まらないのですから、年間のリストを作っておけば良いのです。だから、kt 関数は必要ありません。

>マクロのpassがある為に、アレンジできません。

そういう考え方は改めたほうがよいです。他人のものでも、自分のマクロでも半年経てば別人のマクロで、分かりません。ご自身で作ることをお薦めします。

表だけみてマクロも作ってみたのですが、今回のサイトの改編で私の作ったプロシージャ全部は入らないです。もう、ここのサイトで完全にはマクロの質問はダメかもしれません。

マクロは三つに分かれています。[カレンダーの枠組みのフォームを作る][日付を入れる][人名を入れる]その内の人名を入れるマクロだけ入れておきます。
'-------------------------------------------
Sub PutInNames()
  Dim arNames As Variant
  Dim rng As Range
  Dim StartRng As Range
  Dim i As Long
  Dim j As Long
  Dim SetteiSh As Worksheet
  Dim n As Long, m As Long
  Dim Doyobiflg As Boolean  
  '=========================================
  Set SetteiSh = Worksheets("設定")
  Set rng = SetteiSh.Range("D5:D12") '名前リスト
  Doyobiflg = False '日曜/祭日のみ True
  '=========================================
  With SetteiSh
    If Application.CountA(rng) < 2 Then
      MsgBox "名前リストがないかもしれません。", vbExclamation
      Exit Sub
    End If
    
    arNames = rng.Value '名前リスト
    arNames = Application.Transpose(arNames)
    m = UBound(arNames)
    For i = 1 To rng.Rows.Count
      If rng.Cells(i, 2).Value <> "" Then
        j = i '最初の人の順番
        Exit For
      End If
    Next i
    If i > rng.Rows.Count Then
      MsgBox "最初の印がありません。", vbCritical
      Exit Sub
    End If
   End With
    '-------------------------------------------
    With ActiveSheet 'アクティブシート
      '書き込み
      Set StartRng = .Range("A6")
      n = j '最初の人の順番の移し替え
      With StartRng
        For i = 1 To 50
          With .Cells(1 + Int((i - 1) / 7) * 3, ((i - 1) Mod 7) + 1)
            If Val(.Offset(-1).Value) > 0 Then
              '日曜日か土曜日含むかの判定
              If .Offset(-1).Font.ColorIndex <= IIf(Doyobiflg, 3, 1) Then
                .Cells(1).Value = arNames(n)
                n = n Mod m + 1
              Else
                .Cells(1).ClearContents
              End If
            End If
          End With
        Next
      End With
    End With
End Sub

そのマクロは、マクロ学校1年生卒業で、難しいことは何もしていません。

ただ、リンク先のツールは、kt関数がないので私の環境では動きません。祝日自体は、政府の来年の発表があるまでは、祝日さえ決まらないのですから、年間のリストを作っておけば良いのです。だから、kt 関数は必要ありません。

>マクロのpassがある為に、アレンジできません。

そういう考え方は改めたほうがよいです。他人のものでも、自分のマクロでも半年経てば別人のマクロで、分かりません。ご自身で作ることをお薦めします。

表だけ...続きを読む

QPPTのVBA 全てのテキストボックスの行間を最小

【PPTのVBA 全てのテキストボックスの行間を最小に】

 今晩は、質問させていただきます。どうぞよろしくお願いいたします。
PPT2007でございます。

 手元に大量にあるPPTファイル群のテキストボックスの行間が全て広いため、
全て一括で小さくしてしまいたい次第でございます。
もしこれを手作業でやりますと、テキストボックスをアクティブにする→右クリック
→「段落」→「段落前」を0に。
となり時間がかかりますため、VBAでどうにかしたい次第でございます。

 しかしネットで検索しても出てこず、
また上記操作を自動記録しようといたしましても記入されません。
(PPT2007には自動記録が無いため、excel、wordでトライいたしましたが、無理でございました。。。)

一個のテキストボックスの操作方法さえ分かれば後は、
For each スライド
  For each テキストボックス
  :
  :
  Next
Next
みたいな感じで出来ると思うのでございますが。。

 もしお詳しい方がいらっしゃいましたら,お教えいただけないでしょうか。
どうぞよろしくお願いいたします。

【PPTのVBA 全てのテキストボックスの行間を最小に】

 今晩は、質問させていただきます。どうぞよろしくお願いいたします。
PPT2007でございます。

 手元に大量にあるPPTファイル群のテキストボックスの行間が全て広いため、
全て一括で小さくしてしまいたい次第でございます。
もしこれを手作業でやりますと、テキストボックスをアクティブにする→右クリック
→「段落」→「段落前」を0に。
となり時間がかかりますため、VBAでどうにかしたい次第でございます。

 しかしネットで検索しても出てこず、
また...続きを読む

Aベストアンサー

MKT_さん
こんにちは。

下記のコードでできると思います。
※PPT2003での対応ですが…

Sub 行間変更()
 Dim I  As Long
 Dim J  As Long
 For I = 1 To ActivePresentation.Slides.Count
  With ActivePresentation.Slides(I)
   For J = 1 To .Shapes.Count
    If .Shapes(J).HasTextFrame = msoTrue Then
     .Shapes(J).TextFrame.TextRange.ParagraphFormat.SpaceBefore = 0
    End If
   Next J
  End With
 Next I
End Sub

QEXCELで、1+1=2, 2+2=4...を100回正確に行う方法

1+1=2, 2+2=4 を100回した場合の、個々の結果を表示させたいと考えています。
Excelでやろうとしたのですが、15桁以上は丸めが入ってしまいます。
この丸めを回避するために、15桁までと、15桁以上を別々に計算すれば良いという
事はわかっているのですが、具体的に、どのような関数を使い、セルを埋めて行けば
よいかが判りません。

操作方法、あるいは参考になるURLを示してもらえませんか。

Aベストアンサー

10桁ごとに表示する関数を作りました。
2^100は31桁になるので4列使用します

D列に下10桁を表示
C列に下11から20桁を表示
B列に下21から30桁を表示
A列に下31から40桁を表示

D1セルに1
D2セルに =MOD(D1*2,10^10)
D3以降はこの式をコピーし貼り付けてください。

C2セルに =MOD(INT(D1*2/10^10)+C1*2,10^10)
C3以降はこの式をコピーし貼り付けてください。

A,B列はC列の式をコピーし貼り付けてください。

10桁ごとに表示されます。

ただし表示形式が標準を0000000000(0が10個)としてください。


人気Q&Aランキング

おすすめ情報