テキストの高さを、可変式にする事は出来ますか?
もしVBAで書けるなら、どのプロパテイ関数を使えば良いか、教えて下さい!!

A 回答 (1件)

テキストボックスの高さですよね?


(文字を縦に伸ばすって事ではないですよね?)
Heightプロパティのことだと思います。

[cm]ではなく、[twip]単位で指定することに注意してください。
ヘルプによると1cm=567twipらしいです。
    • good
    • 0
この回答へのお礼

ご返答、有難うございました!
試してみたら、出来ました\(^o^)/
只、サイズがtwipなので、調整に大変そうです。

お礼日時:2001/09/06 13:59

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

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

QVBA 複数の行選択を可変的に行う方法

VBAで以下のことを実現したいと思っております。
例えばですがデータの構成が7行で1名分の個人情報となっているデータがあります。

例:
  A  B
1 太郎 住所
2    電話
3    メールアドレス
4    誕生日
5    年齢
6    性別
7    既婚
8 花子 住所
以下続く
取り扱う件数が数十件から数千件と幅があります。

ここからあらかじめユーザーが指定している項目のみを人数分だけ削除したいと思っています。

B列を検索し設定された項目名にヒットした行を逐一消していく方法が一番安全かと思っているのですが、複数の行を選択し一括で削除する方法はありますでしょうか?
複数の行選択で調べたところ
Range("3:3,12:12,,22:22").Select
という書き方は分かったのですが、削除する範囲と項目が事前に分からないため
つまずいてしまいました。

他にもっといい方法がありましたら知恵を貸してください。
どうかよろしくお願いいたします。

Aベストアンサー

要は選択した複数行を「一括」削除したいようですね。下記は、削除条件に該当するセルをUnionメソッドにより全部rngに溜ておき、For Nextループ終了後に一括で行削除する例です。

Dim rng As Range
For i=1 to N
 If ○○ Then '削除条件
  If rng Is Nothing Then
   Set rng=Cells(i,"B")
  Else
   Set rng=Union(rng,Cells(i-1,"B"))
  End If
 End If
Next i
rng.EntireRow.Delete

QVBA 数(可変)分だけ順に記号を並べる方法

エクセルVBAを勉強し始めたばかりの超初心者です。
以下のような表を作成したいのですが、良い方法が思いつきません。
どうか御教授の程お願いいたします。

●記号(A~Eとして)の数(可変)分だけ列の上から順にその記号を入力する。 
例えばA:1,B:0,C:3,D:5,E:2ずつある場合、列Cに縦に"ACCCDDDDDEE"
という感じです。

表現が分かりづらいかもしれませんが宜しくお願いします。

Aベストアンサー

>エクセルVBAを勉強し始めたばかりの超初心者です。

超初心者(謙遜でなければ)がいきなりこんな面倒なもの、
(とは言っても慣れれば簡単ですが)をしてもあまり勉強にならないような気がします。
それよりも、Workbook,Sheet,Rangeオブジェクトの関係、For~ Next
セルの書式設定などもっと基本的なことから学ぶべきではないかと。。。
 
で、本題。

セルA1に A:1,B:0,C:3,D:5,E:2 があり
これをC列の一行目から質問のように展開する場合。

'-----------------------------------------------
Sub Test()
 Dim myStr
 Dim S
 Dim K As Integer
 Dim N As Integer

 Columns("C:C").ClearContents

 myStr = Split(Range("A1").Value, ",")

 For K = LBound(myStr) To UBound(myStr)
   S = Split(myStr(K), ":")
   If S(1) > 0 Then
     For N = 1 To S(1)
       Cells(Rows.Count, "C").End(xlUp).Offset(1).Value = S(0)
     Next N
   End If
 Next K

 Range("C1").Delete xlShiftUp

End Sub
'-------------------------------------------------

エラーチェックは入れてありません。
分からないコマンドはちゃんとヘルプを参照すること。
また、変数名は適当につけてありますが、通常はその変数が
何を表わしているか分かるような名前にしなければいけません。
以上。
 

 

>エクセルVBAを勉強し始めたばかりの超初心者です。

超初心者(謙遜でなければ)がいきなりこんな面倒なもの、
(とは言っても慣れれば簡単ですが)をしてもあまり勉強にならないような気がします。
それよりも、Workbook,Sheet,Rangeオブジェクトの関係、For~ Next
セルの書式設定などもっと基本的なことから学ぶべきではないかと。。。
 
で、本題。

セルA1に A:1,B:0,C:3,D:5,E:2 があり
これをC列の一行目から質問のように展開する場合。

'------------------------------------------...続きを読む

Q【Objective-C】プロパテイについて

Objectiv-Cの勉強を始めたばかりの者です。
プロパテイの機能を理解する為に以下のようなプログラムを書きました。

例1)まずは、プロパテイを使わない例です。
ーーーーーーー data.h ーーーーーーー
#import <Foundation/NSObject.h>
#import <Foundation/NSString.h>
@interface Data : NSObject {
NSString* str;
}
- (void)setStr:(NSString* )arg;
- (NSString*)retStr;
@end

ーーーーーーー data.m ーーーーーーー
#import "Data.h"
@implementation Data
- (NSString*) retStr{
return str;
}
- (void)setStr:(NSString*) arg{
[arg retain];
[str release];
str = arg;
}
@end

ーーーーーーー main.m ーーーーーーー
#import <stdio.h>
#import "Data.h"
int main(void) {
Data* data = [[Data alloc] init];
[data setStr:@"aaa"];
NSLog(@"%@",[data retStr]);
return 0;
}


例2)次に、プロパテイを使って例1を書き換えてみました。
ーーーーーーー data.h ーーーーーーー
#import <Foundation/NSObject.h>
#import <Foundation/NSString.h>
@interface Data : NSObject {
NSString* str;
}
@property (retain) NSString* str;
@end

ーーーーーーー data.m ーーーーーーー
#import "Data.h"
@implementation Data
@synthesize str;
@end

ーーーーーーー main.m ーーーーーーー
#import <stdio.h>
#import "Data.h"
int main(void) {
Data* test = [[Data alloc] init];
test.str = @"hoge";
NSLog(@"%@",test.str);
return 0;
}


例2を実行した結果、以下のように出力されました。

2010-02-05 22:17:50.696 data[1583:903] *** __NSAutoreleaseNoPool(): Object 0x100001068 of class NSCFString autoreleased with no pool in place - just leaking
2010-02-05 22:17:50.698 data[1583:903] hoge

@propertyのオプションを(retain) ではなく、(assign)に変更すると、
2010-02-05 22:30:02.271 data[1619:903] hoge
と出力されて、期待した結果が得られるのですが、なぜretainではダメなのでしょう?
また、assignでも例1のようなメモリ管理は自動的に行われているのでしょうか?

以上、ご指導の程、よろしくお願いいたします。

Objectiv-Cの勉強を始めたばかりの者です。
プロパテイの機能を理解する為に以下のようなプログラムを書きました。

例1)まずは、プロパテイを使わない例です。
ーーーーーーー data.h ーーーーーーー
#import <Foundation/NSObject.h>
#import <Foundation/NSString.h>
@interface Data : NSObject {
NSString* str;
}
- (void)setStr:(NSString* )arg;
- (NSString*)retStr;
@end

ーーーーーーー data.m ーーーーーーー
#import "Data.h"
@implementation Data
- (NSString*) retStr{...続きを読む

Aベストアンサー

単に、NSAutoreleasePoolを生成してないからでは。
ソースとメッセージを見る限りですが。

QEXCEL2003 VBA: プロットエリアの高さ・幅設定

VBAでグラフを作成しています。
セル幅を基準に高さ・幅にしたく、コードで指定しています。

プロットエリアに関してですが
ActiveChart.PlotArea.Width = 200
のように指定してもデバックで確認しても設定値になっていません。
(38)になっていました・・・。

そのせいなのか
Sheet1.Range(Sheet1.Cells(lOutPutRow, 1), Sheet1.Cells(lOutPutRow, 1)).Width - 60
といった設定もうまく行かず・・・。
高さも同様です。

単位変換等必要なのでしょうか。
まったくお手上げで・・・、
助言いただけたら嬉しいです。

Aベストアンサー

全体のコードがアップされてないのでなんですが。。

>プロットエリアに関してですが
>ActiveChart.PlotArea.Width = 200
>のように指定してもデバックで確認しても設定値になっていません。

恐らく質問者の勘違いだろうと思われます。
PlotAreaオブジェクトのwidthプロパティは取得・設定どちらとも可能です。

>Sheet1.Range(Sheet1.Cells(lOutPutRow, 1), Sheet1.Cells(lOutPutRow, 1)).Width

タイプミスでないと仮定すると、
上記は、【A列1列】のみの幅になってますが。。。
実際は、Range(Cells(行、1),Cells(行,5))とか複数列では?

一応上記を確認してみてください。
以上。

QVBA テキストボックスの改行

現在、テキストボックスに入力された文字列を
セルに入力するプログラムを作っています。
その際、テキストボックス内で
あいうえお[改行]
かきすけこ
と入力された場合、
セル[A1]あいうえお
セル[A2]かきすけこ
としたいのですが何か方法はありますか?
回答よろしくお願い致します。

Aベストアンサー

ANo.1です。

取り敢えず締め切っていないので応用編をば。

Dim x As Variant
x = Split(TextBox1.Text, vbLf)
Range("A1").Resize(UBound(x) + 1).Value = Application.Transpose(x)

ではどうでしょう?


人気Q&Aランキング

おすすめ情報