No.2ベストアンサー
- 回答日時:
文字列では、もちろんsmall関数で計算する事はできません。
文字列でそういう計算ができる関数等もありません。
まぁプログラミングに慣れた人なら、バブルソートとかちょこちょこっと実装してしまってやっつけるのもありでしょうが、そこまでしなくても例えばセルに一回データを書き出してエクセルに並べ替えさせてしまい、所定の位置のデータを拾ってくるなんて方法もあります。
ただし。
>私のエラーが起きていた中身ですが、英字を混んでいました。
>1234abcdの如くにです。
こういった「文字列の並べ替え」では、よほど条件が整ってない限り大概、大小の判定を失敗します。
上手くいかない例:
sub macro2()
dim a(15) as variant
dim i
for i = 0 to 15
a(i) = i & "abc"
next i
with range("Z1:Z16")
.value = application.transpose(a)
.sort key1:=range("Z1"), order1:=xlascending, header:=xlno
range("A1") = range("Z7").value
’.clearcontents
end with
end sub
上手くいく例:
sub macro3()
dim a(15) as variant
dim i
for i = 0 to 15
a(i) = format(i, "000") & "abc"
next i
with range("AA1:AA16")
.value = application.transpose(a)
.sort key1:=range("AA1"), order1:=xlascending, header:=xlno
range("A1") = range("AA7").value
’.clearcontents
end with
end sub
改めてあなたの「実際のデータ」をしっかり調べ、「どれが欲しい」のか、どうしてその順になるのか、キチンと整理してからそれをマクロに焼きなおすように考えてみて下さい。よくわからないときは、これ以降は確かに別のご相談内容と思いますので、何をしたいのか事実を添えて新しいご相談として投稿してみて下さい。
何回も有り難うございます。
>文字列では、もちろんsmall関数で計算する事はできません。
>文字列でそういう計算ができる関数等もありません。
了解です。
>まぁプログラミングに慣れた人なら、バブルソートとかちょこちょこっと実装してしまって
>やっつけるのもありでしょうが、そこまでしなくても例えばセルに一回データを書き出して
>エクセルに並べ替えさせてしまい、所定の位置のデータを拾ってくるなんて方法もあります。
まさに、ご指摘の方法とは違いますが、別のやり方で解決していました。
そして、smallを見つけたので使ってみようと思いやってみた。
ということです。
現在のやり方なら、英数字混在でも可能です。
現状維持としておきます。
少なくとも、「ローカルウインドー」を知ったことが成果です。
お世話になりました。
No.3
- 回答日時:
こんにちは。
変数の、hauseというものは、何の略か分かりませんが、Option Explicit をつけたらいかがですか?
基礎的な書き方を身につけたほうがよいですね。カウンター変数や特別の変数以外は、大文字・小文字を混ぜるなどします。定数は、大文字だけです。今回は、単に綴りが違っているだけの話だと思います。
'//
Option Explicit
Sub Macro1()
Dim Hause(15) As Double
Dim i As Long
For i = 0 To 15
Hause(i) = i
Next i
Range("A1").Value = Application.WorksheetFunction.Small(Hause, 7) 'houseではない。
End Sub
'//
No.1
- 回答日時:
>WorksheetFunction Smallでプロパティが取得できません
症状としては、変数hauseに数字を代入できていない(7個に足りない)ときの状況に合致します。
作成例:
Sub macro1()
Dim hause(15) As Variant
Dim i
For i = 0 To 15
hause(i) = i
Next i
Range("A1") = Application.WorksheetFunction.Small(hause, 7)
End Sub
必ず一度このマクロを実際にあなたのエクセルで作動させて、結果を確認してください。
そのうえで、あなたの動かないマクロをステップ実行させながら、とりあえずローカルウィンドウなどでhauseの中身にキチンと「数字が15個入ってる」かどうか、しっかり目で見て確かめてみてください。
早速、かつ、何時も有り難うございます。
お教えの例をやってみました。
綺麗に終了し、6が表示されました。
今回、「ローカルウインドー」なるテクニックを知りました。
今後使わせていただきます。
こんなことを知っていればこれまでに苦労しなかったと思える場面がかなりあったと
悔やんでいます。
本題ですが、
どうもsmallは数字しかダメみたいです。
私のエラーが起きていた中身ですが、英字を混んでいました。
1234abcdの如くにです。
variantという定義がエラーにならなかったので、okと思っていました。
私のexcelでも全てを数字にしたらノーマルに終了しました。
ということで、
今回の直接原因は分かった気がしますが、
英字も含めて昇順を決める命令/関数は存在するのでしょうか。
改めての質問はここを閉め、別にした方が宜しいのでしょうか。
とにかく有り難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたが好きな本屋さんを教えてください
どのくらいの規模間で、どのような本が並んでいるか、どのような雰囲気なのかなどなど...
-
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
配列に中で一番小さい値を教えてくれる関数ありませんか/アクセス、VBA
PowerPoint(パワーポイント)
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
-
4
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
5
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
6
split関数で区切り文字がない場合
Visual Basic(VBA)
-
7
マクロの「SaveAs」でエラーが出るのを解消したいです(再)
Visual Basic(VBA)
-
8
Worksheet.Change イベントを他のシートにも反映させる方法?
Visual Basic(VBA)
-
9
VBA 多次元配列のクイックソートの降順版
Visual Basic(VBA)
-
10
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】ファイル名の一括変...
-
【マクロ】フォルダ内にあるPDF...
-
Excelの条件付き書式について
-
エクセルまたはGoogleスプレッ...
-
GoogleスプレッドシートでA1に...
-
Excelシートに画像を貼る時
-
【マクロ】functionプロシージ...
-
Excelで数値を時間数に変換する...
-
EXCELの散布図で日付が1900年に...
-
【Excel】版が同じ事を示す番号...
-
エクセル折れ線グラフについて...
-
エクセルで数字の組み合わせを...
-
エクセル IF計算式?でしょうか?
-
Excelの警告について
-
Excel 対象のセルに入力が無い...
-
エクセルでファイルの最終更新...
-
Excelで1週間毎の集計(今週と...
-
Lookup関数
-
エクセルで 自動的に◯や数字を...
-
Excel関数-文字列で自動作成さ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UWSCでie内のデータを取得しエ...
-
配列内データにsmallを使う
-
結合したセルの並び替え(エク...
-
【VBA】 通し番号の入力について
-
Excel2003 マクロで同じ文字列...
-
Excel2013 マクロ(初心者)2
-
マクロでセル値をAND
-
Excel VBA データ差し込みPDF...
-
VBAで保存しないで閉じると空の...
-
WPSOffice_マクロの有効化について
-
Excel マクロの編集がグレーに...
-
エクセル関数>参照ファイル名...
-
エクセル ボタンに設定したマク...
-
Excelのマクロでボタンを押すと...
-
【Excel VBA】マクロでExcel自...
-
マクロの保存先、開いてるすべ...
-
エクセルの、記録を終了したマ...
-
複数のマクロボタンをまとめて...
-
エクセル マクロ名にブック名...
-
エクセルで、「いいね」のよう...
おすすめ情報