Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Verhältnis abbilden mit VBA

Forumthread: Verhältnis abbilden mit VBA

Verhältnis abbilden mit VBA
22.03.2006 12:41:03
Andre´
Hallo alle zusammen,
Ich möchte gern, dass ein Verhältnis von 2:1 abgebildet wird. Die Werte sollen untereinander angeordnet werden. Zum Bsp.: Beginnend in Zelle A1 mit Eintrag einer1 und in Zelle A2 eine 1 dann in Zelle A3 eine 2, Zelle A4 und A5 jeweils eine 1 und in Zelle A6 wieder eine 1. Das ganze soll solange untereinander gesetzt werden bis die Zelle A1000 erreicht ist. Da ich verschiedene Verhältnisse haben kann wie 4:1 muss dann jeweils 4 mal eine 1 untereinander gesetzt werden und dann eine 2, usw….
Ist das mit VBA möglich, wenn ja wie! Bin für jede Hilfe Dankbar.
Andre
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verhältnis abbilden mit VBA
22.03.2006 13:07:31
Franz
Hallo André,
hier ein Ansatz mit VAB: Sub Verhaeltnis() Dim Verhaeltnis As Integer, I As Integer, J As Integer, K As Integer Verhaeltnis = Int(Val(InputBox("Verhältnis? ", , "2"))) K = 0 For I = 1 To 1000 K = K + 1 If K = Verhaeltnis + 1 Then Cells(I, 1) = 2 K = 0 Else Cells(I, 1) = 1 End If Next End Sub
Gruß
Franz
Anzeige
AW: Verhältnis abbilden mit VBA
22.03.2006 13:43:36
Andreas
Hi André,
ich habe das Ganze nochmal als Lösung ohne VBA entworfen, das schaut dann folgendermaßen aus für die Zeilen 1 bis 100 (funktioniert bei allen Verhältnissen ab 2:1, 1:1 geht also damit leider nicht):
Tabelle1
 ABCDE
11 Verhältnis2zu 1
21 Hilfszelle3 
32    
41    
Formeln der Tabelle
A1 : =WENN(ZEILE()<=$D$1;1;WENN(REST(ZEILE();WENN($D$2=0;1;$D$2))=0;$D$1;1))
A2 : =WENN(ZEILE()<=$D$1;1;WENN(REST(ZEILE();WENN($D$2=0;1;$D$2))=0;$D$1;1))
D2 : {=MIN(WENN((INDIREKT("A"&$D$1-1&":A"&($D$1+99))=$D$1);ZEILE(INDIREKT("A"&$D$1-1&":A"&($D$1+99)))))}
A3 : =WENN(ZEILE()<=$D$1;1;WENN(REST(ZEILE();WENN($D$2=0;1;$D$2))=0;$D$1;1))
A4 : =WENN(ZEILE()<=$D$1;1;WENN(REST(ZEILE();WENN($D$2=0;1;$D$2))=0;$D$1;1))
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Als Beispieldatei:
https://www.herber.de/bbs/user/32135.xls
Grüße
Andreas
Anzeige
AW: Verhältnis abbilden mit VBA
22.03.2006 13:46:11
Andreas
Und weil's so schön war, das Ganze noch ohne Hilfszelle, dann klappt's auch für alle Zeilen:
Tabelle1
 ABCDE
11 Verhältnis2zu 1
21    
32    
41    
Formeln der Tabelle
A1 : =WENN(ZEILE()<=$D$1;1;WENN(REST(ZEILE();WENN($D$1+1=0;1;$D$1+1))=0;$D$1;1))
A2 : =WENN(ZEILE()<=$D$1;1;WENN(REST(ZEILE();WENN($D$1+1=0;1;$D$1+1))=0;$D$1;1))
A3 : =WENN(ZEILE()<=$D$1;1;WENN(REST(ZEILE();WENN($D$1+1=0;1;$D$1+1))=0;$D$1;1))
A4 : =WENN(ZEILE()<=$D$1;1;WENN(REST(ZEILE();WENN($D$1+1=0;1;$D$1+1))=0;$D$1;1))
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Grüße
Andreas
Anzeige
AW: Verhältnis abbilden mit VBA
22.03.2006 14:15:08
Andre´
Hallo Andreas und Franz,
danke für die Antworten, beide Varianten funktionieren prima, doch wie kann ich ein Verhältnis von 3:2 oder 5:3 abbilden?
Vielleicht könnt ihr mir hierbei nochmals behilflich sein.
MFG Andre
AW: Verhältnis abbilden mit VBA
22.03.2006 15:00:29
Franz
Hallo André,
folgendes Makro erzeugt variable Verhältnisse: Sub Verhaeltnis() Dim Verhaeltnis As String, I As Integer, J As Integer, V1 As Integer, V2 As Integer Verhaeltnis = InputBox("Verhältnis? ", , "2:1") V1 = Int(Val(Left(Verhaeltnis, InStr(1, Verhaeltnis, ":") - 1))) V2 = Int(Val(Mid(Verhaeltnis, InStr(1, Verhaeltnis, ":") + 1, 3))) I = 1 Anzahlzeilen = 1000 Do For J = 1 To V1 Cells(I, 1) = 1 I = I + 1 If I > Anzahlzeilen Then Exit Do Next For J = 1 To V2 Cells(I, 1) = 2 I = I + 1 If I > Anzahlzeilen Then Exit Do Next Loop End Sub
Anzeige
AW: Verhältnis abbilden mit VBA
22.03.2006 15:31:06
Andreas
Hi André,
für variable Verhältnisse geht's so (Formel in A1 ist kopierbar nach unten):
Tabelle1
 ABCDE
13 Verhältnis3zu 2
23    
33    
42    
Formeln der Tabelle
A1 : =WENN(ZEILE()<=$D$1;$D$1;WENN(UND(ZEILE()>$D$1;ZEILE()<=$D$1+$E$1);$E$1;INDIREKT("A"&ZEILE()-$D$1-$E$1)))
A2 : =WENN(ZEILE()<=$D$1;$D$1;WENN(UND(ZEILE()>$D$1;ZEILE()<=$D$1+$E$1);$E$1;INDIREKT("A"&ZEILE()-$D$1-$E$1)))
A3 : =WENN(ZEILE()<=$D$1;$D$1;WENN(UND(ZEILE()>$D$1;ZEILE()<=$D$1+$E$1);$E$1;INDIREKT("A"&ZEILE()-$D$1-$E$1)))
A4 : =WENN(ZEILE()<=$D$1;$D$1;WENN(UND(ZEILE()>$D$1;ZEILE()<=$D$1+$E$1);$E$1;INDIREKT("A"&ZEILE()-$D$1-$E$1)))
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Grüße
Andreas
Anzeige
Danke ihr habt mir sehr geholfen!
22.03.2006 16:12:21
Andre´
Hi,
ihr seid einfach super!
Tausend DANK!
MFG Andre
Gern geschehen! (o.T.)
22.03.2006 16:15:24
Andreas
.
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige