[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『指定した数だけ、同じ文字を表示させる』(sayupon)
A1 B1 C1
おはぎ 3 → おはぎ
饅頭 2 おはぎ
おはぎ
饅頭
饅頭
上記のように、A1には固定した名前が入っておりまして、B行に入れた数だけ
C行に縦に表示したいのです。
初心者なので、どなたか手を貸してくださいm(__)m よろしくお願い致します。
Sub test()
lastrow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To lastrow
lastrow3 = Cells(Rows.Count, 3).End(xlUp).Row
n = 0
For j = 1 To Cells(i, 2) Cells(lastrow3 + n + 1, 3) = Cells(i, 1) n = n + 1
Next
Next
End Sub
Private Sub CommandButton1_Click()
Dim loc As Integer Dim idx As Integer Dim i As Integer
While Sheet1.Cells(1 + loc, 2) <> "" For i = 0 To Sheet1.Cells(2 + loc, 2) - 1 Sheet1.Cells(2 + idx, 3) = Sheet1.Cells(2 + loc, 1) idx = idx + 1 Next loc = loc + 1 Wend End Sub (arqee)
Integer → Long にした方がよいでしょう。 (INA)
A列に上から下に隙間なく、またB列には、0以下の数値がないという条件で、 C1に=IF(A1="","",A1)、 C2に =IF(C1="","",IF(COUNTIF(C$1:C1,C1)<VLOOKUP(C1,A$1:B1,2,),C1, IF(INDEX(A$1:A1,MATCH(C1,A$1:A1,)+1)="","", INDEX(A$1:A1,MATCH(C1,A$1:A1,)+1)))) として、C2を下にフィルドラッグします。 (LOOKUP)
A B C 1 おはぎ 3 おはぎ 2 饅頭 2 おはぎ 3 煎餅 2 おはぎ 4 饅頭 5 饅頭 7 煎餅 8 煎餅
LOOKUPさんの後に数式を出すのはかなり勇気がいりますが、、 別案ということで作業列を使います。(;^_^A あせあせ・・・ A B C D おはぎ 3 1 おはぎ 饅頭 2 4 おはぎ 6 おはぎ 饅頭 饅頭 C1に 1 C2に =IF(B1="","",B1+C1) D1に =IF(MAX(C:C)<=ROW(),"",INDEX(A:A,MATCH(ROW(),C:C))) で、どうでしょう?? v(=∩_∩=)v (SoulMan)
>A1には固定した名前が入っておりまして ということですので、私の数式は、適切ではありませんでした。 A列を作業列として作表するものを掲載させていただきます。 SoulManさんもご提示されている方法です。 B1:B5の品目が固定で配置されています。 (LOOKUP)
A B C D 1 FALSE おはぎ 0 饅頭 2 1 饅頭 2 饅頭 3 FALSE 羊羹 煎餅 4 3 煎餅 1 団子 5 4 団子 3 団子 6 6 団子
A1に=IF(C1>0,1)、 A2に=IF(C2>0,SUM(C$1:C1,1))として、A2をA5までフィルドラッグ。 A6に=SUM(C1:C5)。 D1に=IF(ROW(A1)>A$6,"",VLOOKUP(ROW(A1),A$1:B$5,2)) として、下にフィルドラッグ。
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.