Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1152to1156
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Tabelle auswerten
VBA_Neuling
Hallo,
Verzweifle gerade an folgendem Problem.
Gegeben sei folgende Tabelle.
2 |22A
3 |33A
4 |44A
4 |44A
3 |33A
2 |22B
3 |33B
Als Ergebnis soll in einer 3. Spalte zusätlich folgendes angezeigt werden.
2 | 22A | = 22A
3 | 33A | = 22A
4 | 44A | = 33A
4 | 44A | = 33A
3 | 33A | = 22A
2 | 22B | = 22B
3 | 33B | = 22B
Mein Ansatz war folgender:
----------------------------------------------------------------------------------------------- Sub CommandButton3_Click()
Worksheets("Tabelle1").Activate
Dim i1 As Integer
Dim x1 As Integer
Dim x2 As Integer
For i1 = 1 To 9
x1 = x1 + 1
x2 = x2 + 1
ByVal_Unterprozedur x1, x2
Next i1
End Sub
--------------------------------------------------------------------------------------------

Sub ByVal_Unterprozedur(A1 As Integer, A2 As Integer)
Do Until Sheets("Tabelle1").Range("A" & A2).Value = _
Sheets("Tabelle1").Range("A" & A1).Value - 1
A2 = A2 - 1
Loop
Range("B" & A2).Copy
Range("C" & A1).PasteSpecial xlPasteAll
End Sub

-------------------------------------------------------------------------------------------------
Bekomme jetzt aber immer die Fehlermeldung 1004 "Anwendungs- oder objektorientierter Fehler".
Was mache ich falsch bzw. hat jemand für mich eine Lösung?

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Tabelle auswerten
19.04.2010 06:33:06
Hajo_Zi
Hallo Unbekanne(R),
das geht ohne Makro
Tabelle1
 BC
2022A=22A
2133A=33A
2244A=44A
2344A=44A
2433A=33A
2522B=22B
2633B=33B

verwendete Formeln
Zelle Formel Bereich
C20 ="=" &B20 
C21 ="=" &B21 
C22 ="=" &B22 
C23 ="=" &B23 
C24 ="=" &B24 
C25 ="=" &B25 
C26 ="=" &B26 

Tabellendarstellung in Foren Version 5.21



Anzeige
AW: Tabelle auswerten
19.04.2010 07:12:13
VBA_Neuling
Hallo,
Erstmal danke für die rasche Antwort. Das Problem liegt darin, dass die Tabelle jedesmal anders aussieht, da ich die Werte aus einer Datenbank downloaden muss. D.h. bei einem zweiten download könnte die Tabelle z.B. folgendes aussehen haben (3. Spalte ist die Ergebnisspalte, d.h. dieser Wert sollte durch die Formel ermittelt werden).
2 |22F | 22F
3 |33T | 22F
3 |33B | 22F
3 |33T | 22F
4 |44P | 33T
3 |33B | 22F
Bei einem 3. download könnte Sie dann wiederum anders aussehen. Wenn ich in der Prozedur CommandButton3_Click etwa die Werte x1 = 4 und x2 = 4 definiere, dann schreibt die ByVal_Unterprozedur den richtigen Wert in die Zelle C4. Wenn ich x1 = 5 und x2 = 5 definiert hätte, dann würde in Zelle C5 der richtige Wert stehen. Wollte daher eine Schleife programmieren, die die Werte x1 und x2 immer um 1 erhöht und diese Werte dann an die ByVal_Unterprozedur übergibt. Irgendwie scheint aber bei der Übergabe der Werte Probleme zu bereiten...
Anzeige
AW: Tabelle auswerten
19.04.2010 08:15:00
David
Hallo wer auch immer.
das erscheint mir reichlich konfus. Wo ist der Zusammenhang zwischen den vorgegebenen Daten und dem Ergebnis? Mit +1 erkenne ich da nix, dazu kommt noch, dass man mit "Buchstaben" meines Wissens nicht rechnen kann.
Vielleicht solltest du dich klarer ausdrücken und dabei davon ausgehen, dass hier keiner eine Ahnung hat, was das für Daten sind und was du damit machen willst.
Gruß
David
AW: Tabelle auswerten
19.04.2010 09:01:59
VBA_Neuling
Hallo David,
Du hast recht. Hatte mich da nicht wirklich klar ausgedrückt. Bin aber schon wieder einen Schritt weiter. Die ByVal_Unterprozedur ist deswegen immer abgebrochen, weil der Wert gegen minus unendlich gestrebt ist. Wenn die For-Schleife bei +2 zu zählen anfangen würde, dann würde ich das gewünschte Ergebnis bekommen. Daher meine Frage: Wie bringt man Excel bei, dass eine for-Schleife bei 2 anfängt zu zählen?
Bsp.
For i1 = ?
x1 = ? (Als Ergebnis soll 2,3,4,5,6,....ausgegeben werden, nicht aber 1 )
x2 = ? (Als Ergebnis soll 2,3,4,5,6,... ausgegeben werden, nicht aber 1)
Next i1
Ist das möglich?
Danke für Eure Hilfe.
VBA_Neuling
Anzeige
AW: Tabelle auswerten
19.04.2010 09:13:12
David
Dein Problem ist mir zwar immer noch nicht klarer, aber zu deiner konkreten Frage:
For i=xx to yy Step +/-zz
ist grundsätzlich die Syntax für eine Schleife.
xx = Beginn der Zählung (für deine Frage =2)
yy = Ende der Zählung
zz = Schrittweite (um zum beispiel Reihen der Art 2/4/6/8 zu bekommen)
Gruß
David
AW: Tabelle auswerten
19.04.2010 19:06:42
VBA_Neuling
Hallo David,
Danke, dass hat mir weitergeholfen.
Viele Grüße,
Daniel

317 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige