Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
188to192
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
188to192
188to192
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Formel Fehler

Formel Fehler
11.12.2002 13:22:25
Pitt001
Hallo,

habe folgende Formel aus dem Achiv, aber eine kleinen Fehler drin.
?? Name (i) = Cells(i + 1, 2).Value ??
Diese Zeile unterlegt er mir immer ROT,Fehler beim Kompilieren, was ist falsch?

Mfg Peter

Sub SerienbriefExcel()

Dim Anrede()
Dim Name()
Dim Straße()
Dim PLZ()
Dim Ort()
Dim i As Integer
Dim iMax As Integer 'maximale Anzahl Datensätze

Sheets("Tabelle4").Select
iMax = Cells.SpecialCells(xlLastCell).Row - 1
For i = 1 To iMax
Anrede(i) = Cells(i + 1, 1).Value
Name (i) = Cells(i + 1, 2).Value
Straße(i) = Cells(i + 1, 3).Value
PLZ(i) = Cells(i + 1, 4).Value
Ort(i) = Cells(i + 1, 5).Value
'... usw.
Next

Sheets("Tabelle8").Select
For i = 1 To iMax
Cells(10, 2).Value = Anrede(i)
Cells(11, 2).Value = Name(i)
Cells(12, 2).Value = Straße(i)
Cells(14, 2).Value = PLZ(i) & " " & Ort(i)
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Next

End Sub

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Formel Fehler
11.12.2002 13:29:32
Yvonne
Hallo Peter,

ich würde mal versuchen, die Variable umzubenennen. Name ist nämlich eine Eigenschaft, die bereits in VBA existiert. Möglicherweise gibt es deswegen Probleme. (Bei der Anrede scheint das ganze ja zu funktionieren).

Gruß

Yvonne

Re: Formel Fehler
11.12.2002 14:13:51
Pitt001
Hallo Yvonne,

hat geklappt, war der Fehler, Danke für die schnelle Hilfe.

Aber er zeigt immer noch Fehler an. Habe das Makro meiner Tabelle angepasst.

Laufzeitfehler 9 zeigt er mir an, und die ANREDE** ist gelb unterlegt. Er soll ja auf Adrees-Datenbank ab B3 erst zugreifen. In B2 - F2 stehen die Überschriften. Hast Du noch einen Tip??

Mfg. Peter
Sub SerienbriefExcel()

Dim Anrede()
Dim Nachname()
Dim Straße()
Dim PLZ()
Dim Ort()
Dim i As Integer
Dim iMax As Integer 'maximale Anzahl Datensätze

Sheets("Adress-Datenbank").Select
iMax = Cells.SpecialCells(xlLastCell).Row - 1
For i = 1 To iMax
**Anrede(i) = Cells(i + 1, 1).Value
Nachname(i) = Cells(i + 1, 2).Value
Straße(i) = Cells(i + 1, 3).Value
PLZ(i) = Cells(i + 1, 4).Value
Ort(i) = Cells(i + 1, 5).Value
'... usw.
Next

Sheets("Excel-Brief").Select
For i = 1 To iMax
Cells(10, 2).Value = Anrede(i)
Cells(11, 2).Value = Nachname(i)
Cells(12, 2).Value = Straße(i)
Cells(14, 2).Value = PLZ(i) & " " & Ort(i)
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Next

End Sub

Anzeige
Re: Formel Fehler
11.12.2002 14:38:22
Yvonne
Probier's mal so:

Gruß, Yvonne

Sub SerienbriefExcel()

Dim Anrede
Dim Nachname
Dim Straße
Dim PLZ
Dim Ort
Dim i As Integer
Dim iMax As Integer 'maximale Anzahl Datensätze

Sheets("Adress-Datenbank").Select
iMax = Cells.SpecialCells(xlLastCell).Row - 1

For i = 1 To iMax

Sheets("Adress-Datenbank").Select

Anrede = Cells(i + 1, 1).Value
Nachname = Cells(i + 1, 2).Value
Straße = Cells(i + 1, 3).Value
PLZ = Cells(i + 1, 4).Value
Ort = Cells(i + 1, 5).Value

Sheets("Excel-Brief").Select

Cells(10, 2).Value = Anrede
Cells(11, 2).Value = Nachname
Cells(12, 2).Value = Straße
Cells(14, 2).Value = PLZ & " " & Ort
ActiveWindow.SelectedSheets.PrintOut Copies:=1

'... usw.
Next i

End Sub

Anzeige
Re: Formel Fehler
11.12.2002 14:52:50
GerdZ
Hallo Peter,

nach der Zeile iMax = Cells... mußt Du noch die Größenanpassung der Arrays einfügen.
ReDim Anrede(iMax)
ReDim Nachname(iMax)
usw.

Gruß
Gerd

Re: Formel Fehler
11.12.2002 15:26:07
Pitt001
Hallo Yvonne,

Klappt fast alles, nur wenn das Druckprogramm startet, läuft es immer weiter, es sind aber nur z.B. 6 Adressen vorhanden, kann es nicht mehr stoppen, nur noch mit Klammeraffe möglich.
Scheint so, als ob eine Schleife fürs Drucken endlos ist.

Mfg.Peter

Re: Formel Fehler
11.12.2002 15:28:17
Pitt001
hallo Gerd,

habe wenig Ahnung, kannst Du mir das näher Erklären, oder ein Beispiel nennen.

Mfg. Peter

Re: Formel Fehler
11.12.2002 15:32:24
Yvonne
Hallo Peter,

welchen Wert nimmt iMax denn bei dir an? Es kann sein, dass er als letzte Zeile eine Zeile nimmt, in der irgendwann einmal was drin stand, die jetzt aber leer ist. Das passiert, wenn nur die Inhalte der entsprechenden Zelle, nicht aber die ganze Zeile o.ä. gelöscht wird.

Sonst versuche vielleicht mal, iMax wie folgt zu bestimmen:

Range("A65536").Select
Selection.End(xlUp).Select
iMax = Activecell.Row

Gruß

Yvonne

Anzeige
Re: Formel Fehler
11.12.2002 16:00:54
Pitt001
Hallo Yvonne,

habe in der Formel die Anweisung eingeführt. Ob das so richtig ist????

Er will jetzt 109 "Briefe" Drucken, obwohl nur 3 Adressen in der Adress-Datenbank sind.In A3 - A118 stehen Formeln drin, die aber nur bewirken, wenn inB3 - B118 z.B. "Herr" steht, das eine fortlaufende Nummerierung stattfindet. (=WENN(B3>0;G3;""))

Mfg. Peter

Sub SerienbriefExcel()

Dim Anrede
Dim Nachname
Dim Straße
Dim PLZ
Dim Ort
Dim i As Integer
Dim iMax As Integer 'maximale Anzahl Datensätze

Sheets("Adress-Datenbank").Select
iMax = Cells.SpecialCells(xlLastCell).Row - 1
Range("A65536").Select
Selection.End(xlUp).Select
iMax = ActiveCell.Row
For i = 1 To iMax

Sheets("Adress-Datenbank").Select

Anrede = Cells(i + 2, 2).Value
Nachname = Cells(i + 2, 3).Value
Straße = Cells(i + 2, 4).Value
PLZ = Cells(i + 2, 5).Value
Ort = Cells(i + 2, 6).Value

Sheets("Excel-Brief").Select

Cells(10, 2).Value = Anrede
Cells(11, 2).Value = Nachname
Cells(12, 2).Value = Straße
Cells(14, 2).Value = PLZ & " " & Ort
ActiveWindow.SelectedSheets.PrintOut Copies:=1

'... usw.
Next i


End Sub

Anzeige
Re: Formel Fehler
11.12.2002 16:17:42
Yvonne
Hallo Peter,

dann probiere das ganze doch mal mit einer Spalte, in der definitiv nur bis zu der Zeile Werte drin stehen, bis zu der die Adressen gedruckt werden sollen (z.B. nach deiner Beschreibung evtl. Spalte B).

Gruß

Yvonne

Re: Formel Fehler
11.12.2002 16:51:39
Pitt001
Hallo Yvonne,

deine Tips waren bis jetzt einfach spitze.

Es ist nun so, daß er immer egal wieviel Adressen drin stehen, 2 Bleere Blätter mehr Druckt. Das liegt vielleicht daran das in den ersten beiden Zeilen von Adress-Datenbank die Überschriften sind, und es erst ab Zeile 3 mit den Adressen anfängt.
Wie bringe ich das Makro dazu, erst ab Zeile 3 zu beginnen.

Mfg. Peter

Anzeige
Re: Formel Fehler
11.12.2002 16:58:05
Yvonne
Hallo Peter,

dann schreibe einfach

for i = 3 to iMax

...

und dann statt i+2 immer nur i, dann sollte auch das klappen ;-)

(Alternativ wäre wohl auch for i = 3 to iMax - 2 möglich, aber die andere Möglichkeit ist einfacher und leichter nachzuvollziehen, vor allem, wenn du dir das Makro in zwei Monaten noch mal anguckst)

Gruß

Yvonne


Danke an Yvonne
11.12.2002 17:07:22
Pitt001
Hallo Yvonne,

vielen Dank für Deine Geduld und Hilfe.

Mfg. Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige