Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1144to1148
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
Inhaltsverzeichnis

Fehler im Makro

Fehler im Makro
Einzel
Hallo,
habe dieses Makro erstellt:

Sub wert()
Dim q As String
[I7] = "A" & [I6]
q = [I7]
[L5] = Cells(q + 2)
[L7] = Cells(q + 3)
[L9] = Cells(q + 4)
[L11] = Cells(q + 5)
[L13] = Cells(q + 6)
[L15] = Cells(q + 7)
End Sub

Nun gibt es mir beim Ausführen immer eine Fehlermeldung.
Es sollte eigendlich so sein.
In I7 wird der Wert A1 oder A2 oder A3 usw. erstellt. Nun wollte ich das z.B L5 = Cells (I7(Wert aus I7) + 2) ist. Also sagen wir mal A1. ( I7 ist der Wert aus I7)
Kann man es verstehen?
Gruß
Stephan

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

Betreff
Benutzer
Anzeige
AW: Fehler im Makro
15.03.2010 23:28:02
Beate
Hallo,
vielleicht so?:
Sub wert()
    Dim q As String
    [I7] = "A" & [I6]
    q = [I7]
    [L5] = Range(q) + 2
    [L7] = Range(q) + 3
    [L9] = Range(q) + 4
    [L11] = Range(q) + 5
    [L13] = Range(q) + 6
    [L15] = Range(q) + 7
End Sub


Gruß,
Beate
Anzeige
ergänzender Vorschlag ...
15.03.2010 23:46:34
Matthias
Hallo,
leere Zelle und/oder Text abfangen
Sub wert()
Dim q As String
If Not IsEmpty([I6]) And IsNumeric([I6]) Then
[I7] = "A" & [I6]
q = [I7]
[L5] = Range(q) + 2
[L7] = Range(q) + 3
[L9] = Range(q) + 4
[L11] = Range(q) + 5
[L13] = Range(q) + 6
[L15] = Range(q) + 7
 End If
End Sub
Desweiteren solltest Du per Daten Gültigkeit [I6] auf eine Ganzzahl in einem gültigen Bereich festlegen
Denn wäre [I6] leer oder Null oder Text, gäbe es wieder eine Fehler.
Userbild
Gruß Matthias
Anzeige
AW: war so nicht gemeint
16.03.2010 07:33:15
Einzel
Sorry aber so war es nicht gemeint.
In Variable q wird aus [I7] = "A" & [I6]
q = [I7] der Text z.B. A1 oder A2 und so weiter erstellt.
Sieht dann so aus.
q = "A1"
A1 soll nun aber eine Zelle sein die für L5 verwendet wird.
[L5] = Cells(q + 2) soll bedeuten das [L5] = (A1 + 2 also C1) ist.
Wenn q = A1 dann [L5] = C1, wenn q = A2 dann [L5] = C2 und so weiter.
Hoffe so versteht man es besser.
Gruß
Stephan
was steht in I6 und was in A1 ?
16.03.2010 07:47:09
Matthias
Hallo
In I6 steht 1
in I7 wird "A1" generiert.
soweit richtig ?
was steht den nun in A1?


steht dort z. 20, so wird in L5 20+2 gerechnet in L7 20+3 usw.
Userbild
Gruß Matthias
Anzeige
AW: was steht in I6 und was in A1 ?
16.03.2010 08:04:35
Einzel
Hallo,
In I6 steht 1 in I7 wird "A1" generiert soweit richtig ?
Ja das ist richtig.
+2 bedeutet nicht den Wert um zwei erhöhen, sondern die Zelle um zwei verschieben.
Also nicht A1 sonder C1.
In C1 steht dan zB 50,50 das soll dann wenn in I7 A1 steht in L5 stehen.
Gruß
Stephan
so könnts klappen
16.03.2010 08:34:37
Matthias

Sub wert()
Dim q As String
If Not IsEmpty([I6]) And IsNumeric([I6]) Then
[I7] = "A" & [I6]
q = [I7]
[L5] = Range(q).Offset(, 2)
[L7] = Range(q).Offset(, 3)
[L9] = Range(q).Offset(, 4)
[L11] = Range(q).Offset(, 5)
[L13] = Range(q).Offset(, 6)
[L15] = Range(q).Offset(, 7)
End If
End Sub
Userbild
Gruß Matthias
Anzeige
AW: so könnts klappen
16.03.2010 09:06:58
Einzel
Supi genau das sollte es sein.
Besten Dank.
Gruß
Stephan
Und warum nicht einfach mit Formeln? (owT)
16.03.2010 09:19:21
Renee

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige