Excel+VBで簡単なシステムを作成しております。

VBでテキストファイルを読み込み、ある桁数で分割して2次元配列に格納しています。(行:レコード 列:カラム)

現在は、要素ごとにセルを指定して挿入しているのですが、レスポンス向上のため、行単位でセルに挿入できると聞きました。
具体的には以下です。

配列
(0,0)="A" (0,1)="AA" (0,2)="AAA"
(1,0)="B" (1,1)="BB" (1,2)="BBB"

(0,0)をセルA1に、(0,1)をセルC1に、(0,0)をセルE1に1文で挿入。
もちろん、セルA1:E1に対して配列値を代入する形になると思うのすが、記述の仕方がわかりません。

お分かりになる方が見えましたら、ご教授願います。

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

A 回答 (2件)

行単位どころか、範囲でできます。



Dim a(1, 2)
a(0, 0) = "1"
a(0, 1) = "2"
a(0, 2) = "3"
a(1, 0) = "4"
a(1, 1) = "5"
a(1, 2) = "6"
With ThisWorkbook.Worksheets(1).Range("A1")
.Range(.Offset(0, 0), .Offset(1, 2)).Value = a
End With

こんなかんじですね。

この回答への補足

ありがとうございます。

早速、試してみたのですが、指定したセルに挿入されません。
以下のように記述すると、A5にデータが挿入されてしまいました。

With xl.Application.Sheets("DATA").Range("A3")
.Range(.Offset(0, 0), .Offset(0, 19)).Value = StrEspData
End With

また、
With xl.Application.Sheets("DATA").Range("A7")
.Range(.Offset(0, 0), .Offset(0, 19)).Value = StrEspData
End With
と記述したら、A13にデータが挿入されました。

よくみると、遇数列を飛ばしていることに気がついたのですが、
なぜなのでしょうか?

補足日時:2001/05/16 14:02
    • good
    • 0

セルA1:E1に代入する時にB1, D1の内容は保持したほうが


いいでしょうか?

クリアしてもいいよ,というのであれば

Dim x(0,2) as String
x(0, 0) = "A"
x(0, 1) = "AA"
x(0, 2) = "AAA"
Range("A1:E1") = Array(x(0,0), , x(0,1), , x(0,2))

ではどうでしょう。

すいません。
Excelはあまり使ったことないのでレスポンス向上の効果までは
考えてないです。
    • good
    • 0

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

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

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

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

Qオフ車250ccで セルが回らない(泣) 

お世話になります。
ストレス発散に久々にバイクに乗ろうとしたら!
 
▼セルが回らない 
 ⇒バッテリーあがり?
▼業者に来て貰う 
 ⇒バッテリーつないでも(充電しても)かからないと言うより 
  セルがウンともすんとも言わない。

*冬の間は一度も乗らず
*先月、軽4につなげて 30kmほど走行
*ガソリン少なめ
*いつもは車は充電器につなげたら、一発でかかる
*今回は セルを押してもライトが押してる時に消えるだけで
セルの独特のティティティティ って音もしない
ウィンカー類は特に問題なし。

以上より。
キックはついておらず、私は押しがけはできません。
(昔はできたけど、女だし今の体力では厳しい・・・)

質問として
1.押しがけして エンジンがかかる可能性はあり?
 (ならば男友達に頼もうかと。)
2.バッテリーの問題?
 新品パッテリー購入すれば セルが回る可能性あり?
 (ならばとりあえずバッテリー購入)
3.セルの接触不良の問題?
 (素人でも調べる方法はアリ?セルモータをたたけば一時的に
  かかるとも聞いたことがあるが セルモータはどこにある?)

アドバイスお願いします。
ちなみにバイクは SUZUKI DR250R 98年式
バッテリーは毎年買いなおしています・・・
もともと電気系統のウィークポイントが多く なんと2000年式から
ノーマルでキックスタータがついたと言うバイクです。


 

お世話になります。
ストレス発散に久々にバイクに乗ろうとしたら!
 
▼セルが回らない 
 ⇒バッテリーあがり?
▼業者に来て貰う 
 ⇒バッテリーつないでも(充電しても)かからないと言うより 
  セルがウンともすんとも言わない。

*冬の間は一度も乗らず
*先月、軽4につなげて 30kmほど走行
*ガソリン少なめ
*いつもは車は充電器につなげたら、一発でかかる
*今回は セルを押してもライトが押してる時に消えるだけで
セルの独特のティティティティ って音もしない
ウィンカー類は特...続きを読む

Aベストアンサー

こん**は

 まずはバッテリーですね
 フル充電するか、新品に交換してください。
 次はスタータースイッチを点検してください。
 分解して中が汚れていないか確認です。
 汚れいればパーツクリーナなどで洗浄してください。
 バッテリーとスイッチが正常ならスターターリレーですね
 スイッチを押して「かちっ!」と言うならとりあえずは正常です。
 言わないのならリレー交換です
 リレーが正常なら、次はモーターです。
 モーターはエンジンから外して回るかどうか確認しましょう。
 モーターが回ればエンジン内(クラッチ周り)の故障
 モーターが回らなければモーター交換となります。

 確実にチェック出来る計測機器を用意してください
 工具、テスター等が無いのなら、詳しい友人に頼むのが良いでしょう
 どれもないのなら素直にバイク屋に行かれるのをお勧めします

Q=IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $

いつもお世話になってます。
以下の関数式について、お時間がありましたらどうぞご教示ください。

=IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $12,2,FALSE))

「シート2の範囲指定した表にA1セルの値と同じ値の右隣になる値を返せ。ただし該当なき場合は空白とせよ。」

純粋になんでこのような構文になるのかが解りません。

1.ISNAってそもそもなんでしょう?
2.同じ式を繰り返すのはなぜ?
(模範式で、このように同じ式を繰り返す構文があまり無いように思えたのです。)

・参考となる他所のページがあれば教えて下さい。
・素人です。お手柔らかにお願いします。

(エクセル2003)

Aベストアンサー

1.ISNAってそもそもなんでしょう?
ISで始まる情報関数の一つで、#N/A!エラーのみを判定する関数
結果はTRUE(真),FALSE(偽)のいずれかになります。
エラー判定のIS関数には他に
ISERR:#N/A!を除くすべてのエラーを判定する関数
ISERROR:すべてのエラーを判定する関数
があります。

2.同じ式を繰り返すのはなぜ?
ISNAの判定する値がセルでなく数式の結果だからです。
A2=VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)
なら
A3=IF(ISNA(A2),"",A2)
ということになります。A2のように計算の為のセルを省略する為に
=IF(ISNA(数式),"",数式)のように同じ数式を2回繰り返しになってます。

Qセルが回らない

ybr125に乗っているのですが、セルが回らないため始動できません。

セルスイッチを押すと「カチっ」と音を立てるだけです。
夏頃から回りづらいと思ってはいたのですが、冬になると完璧に回らなくなりました。

最初はバッテリーを疑って2~3年物のバッテリーを新品に交換
現在、電圧はテスターで測ったところ12~13Vあります。

セルモーター自体はブースターケーブルを使って車から回すと快調に回ります。
押しがけではかかります。

今日はスターターリレーを交換してみましたが変わりませんでした。
ヒューズも交換済みです。

どこら辺が怪しいと思いますか?
キャブまで分解清掃したほうがいいでしょうか?

Aベストアンサー

>セルモーター自体はブースターケーブルを使って車から回すと快調に回ります。

↑この意味が理解出来ませんか?

車のバッテリーからブースターケーブル繋いで回るなら「バイクのバッテリーが弱ってる」のです。

バッテリーの電圧をテスターなどで測る場合は電流負荷を掛けないと弱っていても12Vから13Vの電圧は出ますから「セルモーターを回した時の電圧」を測ってください。

恐らく、8V以下の電圧に下がってしまうはずです。

だから、セルを回すだけのパワー(電流)がバッテリーから供給されずに回らないのです。

バッテリーを新品に換えても「バッテリーに充電されなければ直ぐに容量不足」になってしまいますから、充電系統が故障してる疑いもありますから、エンジン始動後にヘッドライトやウインカーを点けてエンジン回転数を上げたり下げたりして明るさが大きく変化するか確認してください。

また、その時のバッテリー電圧を測ってください。

エンジン回転数に応じてバッテリー電圧が変動するはずですが、バッテリーが正常に充電されて満充電状態になれば電圧変動は少なくなります。

結論は、バイクのバッテリーが充電不足で弱ってるからなので、充電器で充電するか長距離を走行してバイクの発電機で自力充電を行ってください。

バッテリーが元気に回復すれば、車からブースターケーブルを繋がなくてもセルが回るようになります。

>セルモーター自体はブースターケーブルを使って車から回すと快調に回ります。

↑この意味が理解出来ませんか?

車のバッテリーからブースターケーブル繋いで回るなら「バイクのバッテリーが弱ってる」のです。

バッテリーの電圧をテスターなどで測る場合は電流負荷を掛けないと弱っていても12Vから13Vの電圧は出ますから「セルモーターを回した時の電圧」を測ってください。

恐らく、8V以下の電圧に下がってしまうはずです。

だから、セルを回すだけのパワー(電流)がバッテリーから供給されずに回...続きを読む

QExcelでの表編集でC1に =IF(A1="",B1,A1)

Excelでの表編集でC1に =IF(A1="",B1,A1)
と以前文字データのある列A1、B1、2つからそれぞれ穴あき
を補いc1に表示する式=IF(A1="",B1,A1)を教えていただいたのですが
2列まではこの式で行けるのですが3列以上に対応させる記述が
分かりません。
3列以上の表示を一列にまとめる式を教えてください。
お願いします。

Aベストアンサー

条件が良く判りませんが?

セルB1が空白のとき、セルC1をセルD1に表示
という条件を追加すると
=IF(A1="",IF(B1="",C1,B1),A1)

こんな感じですが、イメージと違う場合は補足してください。

Qライトはつくのに、セルが回らない!!

お世話になります。

先日、HIDの片方が点灯しなくなった為、新しい商品を購入、今日取り替えました。
けっこう時間はかかったものの、なんとか無事に終わりまして、車を車庫から移動させました。

その後、2時間くらい経ってから、車に乗ってエンジンをかけようとしたら、セルが全く回らなくなってしまいました。

ヘッドライトも付きますし、ルームランプもナビも正常に動きます。

とりあえず、アクセサリ→オンまではいつも通りですし、カチカチと言う音もします。
しかし、そこからどんなに回しても、ウンともスンとも。。。

違う車で何度かバッテリーを上げた事もありますが、、セルが回らないと言ってもキュルキュルぐらいは音が鳴って、エンジンがかからないと言った症状ではあったのですが、今回は本当に何の音も鳴りませんし、何の反応もありません(汗

HID(バルブではなくキットごと)を交換した際に、バッテリーを外しましたので、締め方が緩かっただろうか?と思ったのですが、そうでもないようです。

試しに、他の車のバッテリーとケーブルで繋いでセルを回してみましたが、同じ結果でした。。。(泣

これは何が原因と考えられるでしょうか?
ライトやナビ自体は正常に付くので、バッテリーではないと言うことでしょうか?
セルモーターですか?
今まで不具合らしい不具合は無かったのですが、それともやはりHID交換時に何かしてしまったのでしょうか。。。

車屋にも連絡して見ましたが、今日明日はどうしてもレッカーを使えないそうで。。。

どなたか、詳しい方がおられましたら、どうか想像の出来る範囲でも構いませんのでお知恵をお貸し頂きたく思います。
助けてください(泣
よろしくお願い致します!!

お世話になります。

先日、HIDの片方が点灯しなくなった為、新しい商品を購入、今日取り替えました。
けっこう時間はかかったものの、なんとか無事に終わりまして、車を車庫から移動させました。

その後、2時間くらい経ってから、車に乗ってエンジンをかけようとしたら、セルが全く回らなくなってしまいました。

ヘッドライトも付きますし、ルームランプもナビも正常に動きます。

とりあえず、アクセサリ→オンまではいつも通りですし、カチカチと言う音もします。
しかし、そこからどんなに回しても、ウン...続きを読む

Aベストアンサー

>カチカチ
どういう状況での音?、(1)キーをひねった時、(2)セル始動しようとした時、(3)その他。
真っ先に、セルモーターに十分な電気が行っていない(確実な状況)。
何故?、バッテリーに十分な電力がない(セルはライトの十倍以上必要と思うべし)(2)の時。
バッテリーOKだが(2)、バッテリ、セル直結する(ソレノイドスイッチ接触不良)ただし(1)の時で(2)で音がしない時はソレノイドスイッチの駆動回路に問題。
セルモーターの異常。
電気系をいじった後であり、2時間後の状況から、配線ミスでショートの可能性も否定できません。

Aベストアンサー

左側に1列挿入して、その列に「1,2,3,4,5,1,2,3・・・」と縦に数字を入れます。
縦計を取りたいセルで、
=SUMIF(A1:B20,1,B1:D20) 
のように入力すると、B1,B6,B11,B16のセル計が取れます。
同様に検索条件の「1」を「2」に変えると、
B2,B7,B12,B17のセル計が取れます。

この関数の意味は
=SUMIF(範囲、検索条件、合計範囲)です。

Qセルが回らない CDIの故障はあり得ますか?

こんばんば。
ネットで買ったバイクのレストアをしている者です。(レストア初心者です。)
セルスイッチを押してもモーターが回りません。
※良くある、セルスイッチを押してもカチッと音がするだけでセルが回らないってヤツではありません。
セルスイッチを押してもうんともすんとも言いません。
いろいろ配線をチェックしたのですが、原因が分かりません。
そこで下記のサイトを見ましたところ、ジャンクションボックス内にもスターターリレーのスイッチがあるという事を知りました。
http://motor.geocities.jp/cfsxd043/kawasaki/kawa1.html
(1)このジャンクションボックス内のスターターリレーの部分が壊れてセルが回らないって事はあり得ますか?

それと、スターターリレー直結すると、セルモーターが回り、エンジン始動します。

また、スターターリレーが故障しているかチェックする方法を教えてください。

よろしくお願いします。

Aベストアンサー

>スターターリレー直結すると

この意味が曖昧なので断定できないですし
車種が不明ですが、リレーは大体ヒューズ(15~30A)と
一体になってバッテリー近辺にあるスイッチです。
http://www.geocities.co.jp/MotorCity-Circuit/2519/electrics/relay.html

キル、セルボタン等の接触不良があるとリレーに
12V来ないのでリレーが動作しません。
セルスイッチ等の接触やアースが正常でボタン押すか
バッテリー直でリレーの+側に12V送りリレーが動作しない
カチってならないならリレーの故障です。
リレー自体は、9~10Vあれば動作する部品で
長期放置だと固着したり壊れる場合があります。

その他で多いのは、ターミナルの接触不良
バッテリーのマイナス端子からボディやシリンダーに
いく配線の腐食や接触不良などもあります。
キーONで電装やランプが点灯しても、接触が
不十分だと大電流を必要とするためセルモーターは回らない
リレーがカカカカってしか動作しない例も
ありました。

中には特殊な車種、構造のものもあるので
本気でレストアするなら車種くらいは提示するか
サービスマニュアル購入たほうがいいですよ。
そこにリレー以外の電装のチェック方法や始動不能の場合の
フローチャート、配線図も詳しく書いてあるので。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1248608007

>スターターリレー直結すると

この意味が曖昧なので断定できないですし
車種が不明ですが、リレーは大体ヒューズ(15~30A)と
一体になってバッテリー近辺にあるスイッチです。
http://www.geocities.co.jp/MotorCity-Circuit/2519/electrics/relay.html

キル、セルボタン等の接触不良があるとリレーに
12V来ないのでリレーが動作しません。
セルスイッチ等の接触やアースが正常でボタン押すか
バッテリー直でリレーの+側に12V送りリレーが動作しない
カチってならないならリレーの故障です。
リレー自体は、9...続きを読む

QEXCEL2000で「01,02」や「03,05」と入ったセルを「1,2」や「3,5」のように数字の前の0を消したい。

過去の質問も調べてみましたが、見当たりませんでしたので質問させてください。

エクセルのデータで、セル内に「01,02,04,06」や「02,08,10」と
いったような数字が入っていますが、
実際には数字の前の0(ゼロ)が不要で、最終的には「1,2,4,6」や
「2,8,10」のようにしたいのですが、やり方がわかりません。

どなたか方法がお分かりになる方がいらっしゃいましたら、
どうぞ教えてください。
よろしくお願いします。

Aベストアンサー

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"0","",1),",0",","),",,",",0,")

解説(最後の部分が必要ないなら数式から外してください。)
SUBSTITUTE(A1,"0","",1) => 先頭の0のみを消します
「01,02,04,0,06」=>「1,02,04,0,06」
SUBSTITUTE(上記の結果,",0",",") =>後続の,の後の0を消します
「1,02,04,0,06」=>「1,2,4,,6」
SUBSTITUTE(上記の結果,",,",",0,") =>内容が,0,の場合の誤消去を戻します。
「1,2,4,,6」=>「1,2,4,0,6」

Qセルが回らない(T^T)

バリオスなのですが、バッテリーは、充電をし完璧な状態なのにセルが、回らない セルスイッチを押しても 「カチッ!!」と言う音しかしません。これは、セルが悪いのでしょうか?

Aベストアンサー

下記のURLに同じような症状のバイクがありました。
No.9に私が回答していますが、このときの質問者は
これで直ったようです。
一度、ご確認下さい。

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=1412669

Q=IF((L75>1.9)*AND(L75<=2),1,0)の*はないといけないのでしょうか?

L75が1.91のとき、L75が1.9以上かつ2以下のとき、真なら1を、偽なら0を出す式を書きました。
=IF((L75>1.9)AND(L75<=2),1,0)
こう入力するとエラーが出て*をつけるよう聞いてきます。
すなわち、エクセルの修正後は
=IF((L75>1.9)*AND(L75<=2),1,0) 結果は1(真)になりました。
というものです。
ところで、*は必要ですか?ないといけないのでしょうか?
そして、*があっても同じ結果となるのでしょうか?
*は掛け算しかわからず、よろしくお願いします。

Aベストアンサー

#02です。#01さんの補足に対する回答です
COUNTIF関数には検索条件をAND( )でつなげて記述することはできません

複合条件で件数を数えたいなら
 =SUMPRODUCT((L76:L85>0.9)*(L76:L85<=1)*1)
のような関数になります。(本当は配列の積を求める関数ですが、個数のカウントにも使えます)


人気Q&Aランキング

おすすめ情報