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

Zeilen kopieren in andere Tabelle

Zeilen kopieren in andere Tabelle
15.08.2005 20:50:00
Kossmann
Hallo,
ich hatte neulich schonmal das Problem, dass ich von einer Tabelle unter verschiedenen Kriterien Zeilen in neue Tabellenblätter kopieren musste.
Ich hatte von INGi aus dem Forum hier eine sehr gute Lösung erhalten.
Nun musste ich noch einige Spalten hinzufügen. Ich habe den Code dementsprechend abgeändert.
So sieht das funktionierende aus:
Dim rng As Range, ziel As Range
With ThisWorkbook
For Each rng In .Sheets("Eingabe").Range("D9:D" & .Sheets("Eingabe") _
.Range("D65536").End(xlUp).Row)

Select Case rng

Case 817
Select Case Len(.Sheets("Tabelle817").Range("D9"))
Case 0
Set ziel = .Sheets("Tabelle817").Range("D9")
Case Else
Set ziel = .Sheets("Tabelle817").Range("D65536").End(xlUp).Offset(1, 0)
End Select

Case 834
Select Case Len(.Sheets("Tabelle834").Range("D9"))
Case 0
Set ziel = .Sheets("Tabelle834").Range("D9")
Case Else
Set ziel = .Sheets("Tabelle834").Range("D65536").End(xlUp).Offset(1, 0)
End Select

Case 835
Select Case Len(.Sheets("Tabelle835").Range("D9"))
Case 0
Set ziel = .Sheets("Tabelle835").Range("D9")
Case Else
Set ziel = .Sheets("Tabelle835").Range("D65536").End(xlUp).Offset(1, 0)
End Select

Case 843
Select Case Len(.Sheets("Tabelle843").Range("D9"))
Case 0
Set ziel = .Sheets("Tabelle843").Range("D9")
Case Else
Set ziel = .Sheets("Tabelle843").Range("D65536").End(xlUp).Offset(1, 0)
End Select

Case 846
Select Case Len(.Sheets("Tabelle846").Range("D9"))
Case 0
Set ziel = .Sheets("Tabelle846").Range("D9")
Case Else
Set ziel = .Sheets("Tabelle846").Range("D65536").End(xlUp).Offset(1, 0)
End Select

End Select

On Error GoTo Fehlerbehandlung
rng.EntireRow.Copy Destination:=ziel.Offset(0, -3)
Next 'rng
End With
Exit Sub
Fehlerbehandlung:
Select Case Err.Number
Case 1004
rng.Parent.Activate
rng.Activate
MsgBox "Die Tabelle " & Chr(34) & ziel.Parent.Name & Chr(34) & _
" ist voll. Kopiervorgang abgebrochen. Die Zeilen vor der Markierung wurden jedoch kopiert."
End Select
End Sub
Nun ist die neue Spalte die für die Sortierung relevant ist F. Ich habe einfach alles mit D in F abgeändert:
Dim rng As Range, ziel As Range
With ThisWorkbook
For Each rng In .Sheets("Eingabe").Range("F9:F" & .Sheets("Eingabe") _
.Range("F65536").End(xlUp).Row)

Select Case rng

Case 817
Select Case Len(.Sheets("Tabelle817").Range("F9"))
Case 0
Set ziel = .Sheets("Tabelle817").Range("F9")
Case Else
Set ziel = .Sheets("Tabelle817").Range("F65536").End(xlUp).Offset(1, 0)
End Select

Case 834
Select Case Len(.Sheets("Tabelle834").Range("F9"))
Case 0
Set ziel = .Sheets("Tabelle834").Range("F9")
Case Else
Set ziel = .Sheets("Tabelle834").Range("F65536").End(xlUp).Offset(1, 0)
End Select

Case 835
Select Case Len(.Sheets("Tabelle835").Range("F9"))
Case 0
Set ziel = .Sheets("Tabelle835").Range("F9")
Case Else
Set ziel = .Sheets("Tabelle835").Range("F65536").End(xlUp).Offset(1, 0)
End Select

Case 843
Select Case Len(.Sheets("Tabelle843").Range("F9"))
Case 0
Set ziel = .Sheets("Tabelle843").Range("F9")
Case Else
Set ziel = .Sheets("Tabelle843").Range("F65536").End(xlUp).Offset(1, 0)
End Select

Case 846
Select Case Len(.Sheets("Tabelle846").Range("F9"))
Case 0
Set ziel = .Sheets("Tabelle846").Range("F9")
Case Else
Set ziel = .Sheets("Tabelle846").Range("F65536").End(xlUp).Offset(1, 0)
End Select

End Select

On Error GoTo Fehlerbehandlung
rng.EntireRow.Copy Destination:=ziel.Offset(0, -3)
Next 'rng
End With
Exit Sub
Fehlerbehandlung:
Select Case Err.Number
Case 1004
rng.Parent.Activate
rng.Activate
MsgBox "Die Tabelle " & Chr(34) & ziel.Parent.Name & Chr(34) & _
" ist voll. Kopiervorgang abgebrochen. Die Zeilen vor der Markierung wurden jedoch kopiert."
End Select
End Sub
Doch wenn ich das Makro nun starte springt es beim ersten Wert sofort zur Fehlerbehandlung.
Wo ist der Fehler?
Was hab ich falsch gemacht?
Was muss noch geändert werden?
Danke für eure Hilfe

24
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen kopieren in andere Tabelle
15.08.2005 21:51:50
Erich
Hallo Andreas,
gefunden habe ich nur einen Fehler. Statt
rng.EntireRow.Copy Destination:=ziel.Offset(0, -3)
muss nach deiner Änderung
rng.EntireRow.Copy Destination:=ziel.Offset(0, -5)
da stehen. (Die "-3" bedeutet 3 Spalten rückwärts von Spalte D (nach Spalte A), da du jetzt von Spalte F ausgehst, sind das 5 Spalten rückwärts. Die Zielzelle ist immer in Spalte A - du willst ja ganze Zeilen kopieren.
Das Ganze geht aber auch etwas kürzer (wobei ich ansonsten möglichst wenig verändert habe. Probier mal

Sub KopieSpezial()
Dim rng As Range, ziel As Range
With ThisWorkbook
For Each rng In .Sheets("Eingabe").Range("F9:F" & .Sheets("Eingabe") _
.Range("F65536").End(xlUp).Row)
Select Case rng
Case 817 Or 834 Or 835 Or 843 Or 846
If IsEmpty(.Sheets("Tabelle" & rng).Range("F9")) = 0 Then
Set ziel = .Sheets("Tabelle" & rng).Range("F9")
Else
Set ziel = .Sheets("Tabelle" & rng).Range("F65536").End(xlUp).Offset(1, 0)
End If
End Select
On Error GoTo Fehlerbehandlung
rng.EntireRow.Copy Destination:=ziel.Offset(0, -5)  ' hier stand (0, -3)
Next rng
End With
Exit Sub
Fehlerbehandlung:
Select Case Err.Number
Case 1004
rng.Parent.Activate
rng.Activate
MsgBox "Die Tabelle " & Chr(34) & ziel.Parent.Name & Chr(34) & _
" ist voll. Kopiervorgang abgebrochen. Die Zeilen vor der Markierung" & _
" wurden jedoch kopiert."
Case Else
MsgBox "Fehler Nummer " & Err.Number
End Select
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Zeilen kopieren in andere Tabelle
16.08.2005 10:14:47
Kossmann
Hallo Erich,
vielen Dank hat super funktioniert.
Nun noch eine Frage:
Wenn ich das makro ablaufen habe lassen, würde ich gerne wenn alle Zeilen in die Tabellenblätter kopiert wurden noch eine Zeile zum Schluss einfügen die mir die Summe aus bestimmten Spalten berechnet. Ist das irgendwie möglich?
Danke für deine Hilfe
Gruß Andreas
AW: Zeilen kopieren in andere Tabelle
16.08.2005 12:31:55
Erich
Hallo Andreas,
das geht, klar, lässt sich auch mit Hilfe der Makroaufzeichnung automatisieren.
Aber eine solche Summenzeile hätte auch Nachteile: Sie würde beim Anfügen weiterer Zeilen stören. Entweder müsste die Summenzeile zunächst gelöscht und nachher unten wieder angefügt werden, oder die weiteren Zeilen müssten vor der Summenzeile eingefügt werden.
Vielleicht ist ein eigenes Tabellenblatt für die Summen sinnvoll? Das könnte man mit festen Excelformeln hinschreiben.
Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Zeilen kopieren in andere Tabelle
16.08.2005 13:36:33
Kossmann
Hallo Erich,
und wie muss der VBA-Befehl lauten, damit diese Summenzeile automatisch beim ablauf in der letzten Zeile erstellt wird?(Die Funktion mit dem Löschen hab ich schon drin, deshalb soll die Summe ja wieder in der nächste(letzten) Zeile erstellt werden
Gruß Andreas
AW: Zeilen kopieren in andere Tabelle
16.08.2005 16:03:21
Erich
Hallo Andreas,
es sind schon mehrere VBA-Befehle, die da abgearbeitet werden müssen. Das folgende Makro kannst du in das Modul mit dem Kopieren-Makro kopieren und am Ende des Kopieren-Makros aufrufen (mit Call Summenzeilen).
Da ich nicht weiß, welche Spalten summiert werden sollen, habe ich einige beispielhaft eingetragen, das musst du sicher anpassen. Wenn es sehr viele Spalten sind, würde man das etwas anders gestalten.

Sub Summenzeilen()
Dim NrBlatt, SumSpalten, ii, jj, letzte As Long, calc
NrBlatt = Array(817, 834, 835, 843, 846)           ' Blattnummern
SumSpalten = Array("C", "D", "F", "H", "I", "J")   ' zu summierende Spalten
calc = Application.Calculation
Application.Calculation = xlCalculationManual
For Each ii In NrBlatt
letzte = Sheets("Tabelle" & ii).[F9].End(xlDown).Row
For Each jj In SumSpalten
Sheets("Tabelle" & ii).Columns(jj).Cells(letzte + 1, 1).Formula = _
"=SUM(" & jj & "9:" & jj & letzte & ")"
Next jj
Next ii
Application.Calculation = calc
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Zeilen kopieren in andere Tabelle
16.08.2005 19:07:21
Kossmann
Hallo Erich,
Also ich habe den Rest des Makro mal kopiert und hier rein kopiert.
Hab ich es richtig eingefügt?
Spalten hab ich geändert in die welche ich zusammenrechnen will.
Muss ich irgendwo noch einen Namen oder eine Angabe an meine Tabellenblätter anpassen?
Danke für die Hilfe
Gruß Andreas
Fehlerbehandlung:
Select Case Err.Number
Case 1004
rng.Parent.Activate
rng.Activate
MsgBox "Die Tabelle " & Chr(34) & ziel.Parent.Name & Chr(34) & _
" ist voll. Kopiervorgang abgebrochen. Die Zeilen vor der Markierung wurden jedoch kopiert."
End Select

Call Summenzeilen
End Sub

Sub Summenzeilen()
Dim NrBlatt, SumSpalten, ii, jj, letzte As Long, calc
NrBlatt = Array(834, 835, 843, 846)        ' Blattnummern
SumSpalten = Array("D", "E", "G", "H", "I")   ' zu summierende Spalten
calc = Application.Calculation
Application.Calculation = xlCalculationManual
For Each ii In NrBlatt
letzte = Sheets("Tabelle" & ii).[F9].End(xlDown).Row
For Each jj In SumSpalten
Sheets("Tabelle" & ii).Columns(jj).Cells(letzte + 1, 1).Formula = _
"=SUM(" & jj & "9:" & jj & letzte & ")"
Next jj
Next ii
Application.Calculation = calc
End Sub

Anzeige
AW: Zeilen kopieren in andere Tabelle
16.08.2005 19:35:10
Erich
Hallo Andreas,
das sieht gut aus. Hast du den neuen Code noch nicht getestet?
Grüße von Erich aus Kamp-Lintfort
AW: Zeilen kopieren in andere Tabelle
16.08.2005 19:37:39
Kossmann
Doch aber der rechnet nicht und fügt keine Spalte ein.
Kann das sein weil meine Blätter nicht mehr z.B. "Tabelle843" heissen sondern "843 Verbrauch"
AW: Zeilen kopieren in andere Tabelle
16.08.2005 19:30:45
Kossmann
Hallo Erich,
es ist glaube ich einfacher dir das ganze Makro so wie es im Moment aussieht zu zeigen.
Danke für die Hilfe
Gruß Andreas

Sub kopieren()
Sheets("843 Verbrauch").Select
Range("A9:L59").Select
Selection.ClearContents
Range("A1").Select
Sheets("834 Mieten und Rechner").Select
Range("A9:L59").Select
Selection.ClearContents
Range("A1").Select
Sheets("835 Aufträge").Select
Range("A9:L59").Select
Selection.ClearContents
Range("A1").Select
Sheets("846 Dienstreisen").Select
Range("A9:L59").Select
Selection.ClearContents
Range("A1").Select
Sheets("Kostenvergleich").Select
Range("A1").Select
Dim rng As Range, ziel As Range
With ThisWorkbook
For Each rng In .Sheets("Zahlenmäßiger Nachweis").Range("F9:F" & .Sheets("Zahlenmäßiger Nachweis") _
.Range("F65536").End(xlUp).Row)
Select Case rng
Case 834
Select Case Len(.Sheets("834 Mieten und Rechner").Range("F9"))
Case 0
Set ziel = .Sheets("834 Mieten und Rechner").Range("F9")
Case Else
Set ziel = .Sheets("834 Mieten und Rechner").Range("F65536").End(xlUp).Offset(1, 0)
End Select
Case 835
Select Case Len(.Sheets("835 Aufträge").Range("F9"))
Case 0
Set ziel = .Sheets("835 Aufträge").Range("F9")
Case Else
Set ziel = .Sheets("835 Aufträge").Range("F65536").End(xlUp).Offset(1, 0)
End Select
Case 843
Select Case Len(.Sheets("843 Verbrauch").Range("F9"))
Case 0
Set ziel = .Sheets("843 Verbrauch").Range("F9")
Case Else
Set ziel = .Sheets("843 Verbrauch").Range("F65536").End(xlUp).Offset(1, 0)
End Select
Case 846
Select Case Len(.Sheets("846 Dienstreisen").Range("F9"))
Case 0
Set ziel = .Sheets("846 Dienstreisen").Range("F9")
Case Else
Set ziel = .Sheets("846 Dienstreisen").Range("F65536").End(xlUp).Offset(1, 0)
End Select
End Select
On Error GoTo Fehlerbehandlung
rng.EntireRow.Copy Destination:=ziel.Offset(0, -5)
Next 'rng
End With
Exit Sub
Fehlerbehandlung:
Select Case Err.Number
Case 1004
rng.Parent.Activate
rng.Activate
MsgBox "Die Tabelle " & Chr(34) & ziel.Parent.Name & Chr(34) & _
" ist voll. Kopiervorgang abgebrochen. Die Zeilen vor der Markierung wurden jedoch kopiert."
End Select
Call Summenzeilen
End Sub


Sub Summenzeilen()
Dim NrBlatt, SumSpalten, ii, jj, letzte As Long, calc
NrBlatt = Array(834, 835, 843, 846)        ' Blattnummern
SumSpalten = Array("D", "E", "G", "H", "I")   ' zu summierende Spalten
calc = Application.Calculation
Application.Calculation = xlCalculationManual
For Each ii In NrBlatt
letzte = Sheets("Tabelle" & ii).[F9].End(xlDown).Row
For Each jj In SumSpalten
Sheets("Tabelle" & ii).Columns(jj).Cells(letzte + 1, 1).Formula = _
"=SUM(" & jj & "9:" & jj & letzte & ")"
Next jj
Next ii
Application.Calculation = calc
End Sub

Anzeige
AW: Zeilen kopieren in andere Tabelle
16.08.2005 19:47:58
Erich
Hallo Wolfgang,
jetzt verstehe ich deine Bedenken wegen der Blattnamen - du hast sie inzwischen so geändert, dass man jetzt nicht mehr den Blattnamen aus der dreistelligen Nummer ermitteln kann. (Bei Namen wie "Tabelle834" ging das sehr schön und kurz.)
Da ist also noch etwas zu tun, ich habe aber im Moment keine Zeit. Vielleicht spät am Abend oder morgen bei Sonnenaufgang...
Ich melde mich wieder - Grüße von Erich aus Kamp-Lintfort
AW: Zeilen kopieren in andere Tabelle
16.08.2005 19:50:37
Kossmann
Hallo
ich weiß es nervt langsam ich komm dauernd mit was neuem.
Also echt Danke für die Hilfe
Gruß Andreas
AW: Zeilen kopieren in andere Tabelle
17.08.2005 08:57:26
Erich
Hallo Andreas,
jetzt hab ichs (glaube ich) zusammen:

Sub kopieren()
Dim anzZ As Integer, ZBlatt() As String, ii As Integer, letzteZ() As Long
Dim SumSpalten, sp, calc
Dim rng As Range, ziel As Range
'                                               ' Vorgaben
anzZ = 4                                    ' Anzahl Zielblätter
ReDim ZBlatt(1 To anzZ)
ZBlatt(1) = "843 Verbrauch"                 ' Zielblätter
ZBlatt(2) = "834 Mieten und Rechner"
ZBlatt(3) = "835 Aufträge"
ZBlatt(4) = "846 Dienstreisen"
SumSpalten = Array("D", "E", "G", "H", "I") ' zu summierende Spalten
'                                               ' Zielblätter leeren
For ii = 1 To anzZ
With Sheets(ZBlatt(ii))
.Range("A9:L59").ClearContents
.Activate
.Range("A1").Select
End With
Next ii
'                                               ' Kostenvergleich zeigen
Sheets("Kostenvergleich").Select
Range("A1").Select
ReDim letzteZ(1 To anzZ)
For Each rng In Sheets("Zahlenmäßiger Nachweis").Range("F9:F" & _
Sheets("Zahlenmäßiger Nachweis").Range("F65536").End(xlUp).Row)
For ii = 1 To anzZ                     ' Zielblatt ermitteln
If Left(ZBlatt(ii), 3) = CStr(rng) Then
With Sheets(ZBlatt(ii))
If letzteZ(ii) = 0 Then          ' wenn nötig, letzte Z. ermitteln
If IsEmpty(.Range("F9")) Then
letzteZ(ii) = 9
Else
letzteZ(ii) = .Range("F9").End(xlDown).Row + 1
End If
Else
letzteZ(ii) = letzteZ(ii) + 1
End If
Select Case letzteZ(ii)
Case 0                           ' nichts zu tun
Case Is >= 65534                 ' Zielblatt ist voll
rng.Parent.Activate
rng.Activate
MsgBox "Die Tabelle " & Chr(34) & .Name & Chr(34) & " ist voll." _
& " Kopiervorgang abgebrochen. Die Zeilen vor der Markierung" _
& " wurden jedoch kopiert."
Exit Sub
Case Else                        ' kopieren
rng.EntireRow.Copy Destination:=.Cells(letzteZ(ii), 1)
End Select
End With
Exit For
End If
Next ii
Next rng
'                                               ' Summenzeilen ans Ende
calc = Application.Calculation
Application.Calculation = xlCalculationManual
For ii = 1 To anzZ
With Sheets(ZBlatt(ii))
If letzteZ(ii) = 0 Then letzteZ(ii) = .[F9].End(xlDown).Row
For Each sp In SumSpalten
.Columns(sp).Cells(letzteZ(ii) + 1, 1).FormulaLocal = _
"=SUMME(" & sp & "9:" & sp & letzteZ(ii) & ")"
Next sp
End With
Next ii
Application.Calculation = calc
End Sub

Das nervt nicht, sondern macht Spaß!
Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Zeilen kopieren in andere Tabelle
17.08.2005 17:47:46
Kossmann
Hallo Erich,
funktioniert excellent. Danke
Muss jetzt nur noch ein bisschen daran spielen.
Z.B.: In der Spalte vor der ersten Summe das Wort "Summe" erscheint, dass die Zeile einen Rahmen hat farbig hinterlegt ist und die Schriftgrösse und Art anpassen.
Kann ich das im Makro auch eingeben?
Gruß Andreas
AW: Zeilen kopieren in andere Tabelle
17.08.2005 19:56:57
Erich
Hallo Andreas,
auch das noch! (Vorsicht. Spaß - nicht ernst nehmen)
Klar, ein wenig gestalten gehört auch dazu.
Aus dem Code im letzten Teil:
         For Each sp In SumSpalten
.Columns(sp).Cells(letzteZ(ii) + 1, 1).FormulaLocal = _
"=SUMME(" & sp & "9:" & sp & letzteZ(ii) & ")"
Next sp
End With
Next ii
wird
For Each sp In SumSpalten
.Columns(sp).Cells(letzteZ(ii) + 1, 1).FormulaLocal = _
"=SUMME(" & sp & "9:" & sp & letzteZ(ii) & ")"
Next sp
letzteZ(ii) = letzteZ(ii) + 1
Set rng = _
.Cells(letzteZ(ii), Columns(SumSpalten(LBound(SumSpalten))).Column)
rng.Offset(0, -1) = "Summe"
Set rng = Range(rng.Offset(0, -1), _
.Cells(letzteZ(ii), Columns(SumSpalten(UBound(SumSpalten))).Column))
rng.Font.Name = "Verdana"
rng.Font.Size = 12
rng.Interior.ColorIndex = 36
End With
With rng.Borders
.LineStyle = xlContinuous
.Weight = xlMedium
End With
With rng.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlMedium
End With
Next ii

Mit den Fonts, Farben und Rahmen kannst du ja ein wenig spielen.
Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Zeilen kopieren in andere Tabelle
17.08.2005 20:01:42
Erich
Hallo Andreas,
noch ein Nachtrag:
Wegen der Formate muss oben im Code jetzt

.Range("A9:L59").Clear     ' war ClearContents

stehen - sonst stehen die Summen-Formatierungen nachher auch in einer Zeile Zeilen, in der sie nichts zu suchen haben.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Zeilen kopieren in andere Tabelle
17.08.2005 20:09:04
Kossmann
Hallo Erich,
wow!! Echt super.
Kannst du ein gutes Buch über VBA empfehlen. Also für Anfänger und wo man richtig was lernt?
Und nun hätte ich noch ne letzte Frage.
In diesen Tabellen Blättern z.B. "834 Mieten und Rechner". Dieser letzte variable Summenwert in Spalte E solle in Kostenvergleich in sagen wir mal Zelle G14 kopiert werden. Wie geht das?
Danke
Gruß Andreas
Anzeige
AW: Zeilen kopieren in andere Tabelle
18.08.2005 06:46:29
Erich
Hallo Andreas,
mein Lern-Buch (noch mit Excel 5.0, aber die neueste Ausgabe habe ich natürlich auch) war:
Michael Kofler: Excel-VBA programmieren, Vlg. Addison-Wesley, ISBN 3-8273-2189-1, kostet so um die 50 Euro. Sehr hilfreich sollten auch die (oder einiger der) CDs hier von Herber sein.
Die Summe der Spalte E muss man nicht kopieren, per Formel kann man sie sich dort hinschreiben, wo man sie braucht. Die folgende Matrixformel liefert den Wert der letzten nicht leeren Zelle einer Spalte (hier Spalte E). Wenn du z. B. in Kostenvergleich G14 auswählst, mit F2 in die Bearbeitung gehst, in die Zelle die Formel
=INDEX('834 Mieten und Rechner'!E$1:E$65535;MAX(('834 Mieten und Rechner'!E$1:E$65535"")*ZEILE($1:$65535)))
schreibst (oder besser von hier kopierst) und dann nicht Eingabe, sondern Strg+Umschalt+Eingabe drückst, sollte die Summe da stehen - und auch später immer aktuell sein. Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Zeilen kopieren in andere Tabelle
18.08.2005 11:00:23
Kossmann
Hallo Erich,
ich hab es gemacht wie du gesagt hast.
Habe dann aber folgendes Problem:
Er bemängelt die Angaben:
-E$1:E$65535
-$1:$65535
=INDEX('834 Mieten und Rechner'!E$1:E$65535;MAX(('834 Mieten und Rechner'!E$1:E$65535"")*ZEILE($1:$65535)))
AW: Zeilen kopieren in andere Tabelle
18.08.2005 13:36:35
Erich
Hallo Andreas,
das könnte an den unterschiedlichen Excel-Versionen liegen. Wiew viele Zeilen haben deine Tabelleblätter? 65536 oder 16384 (glaube ich oder etwas dazwischen?
Probier bitte mal mit 16383 oder 32767 statt 65535 aus.
(Das ist 2hoch14 - 1 bis 2hoch16 - 1)
Grüße von Erich aus Kamp-Lintfort
AW: Zeilen kopieren in andere Tabelle
18.08.2005 17:22:15
Kossmann
Hallo Erich,
Also ich hab 65536 Zeile.
Er kritisiert irgendwie das "$"-Zeichen wenn ich es wegmache dann geht er zum nächsten Wert mit dem festen Spalten Bezug.
Wenn ich alle weggemacht habe meckert er an der ganzen Formel.
Gruß Andreas
AW: Zeilen kopieren in andere Tabelle
18.08.2005 17:59:18
Kossmann
Hallo Erich,
Also ich hatte die Bezugsart Z1S1 eingestellt. Nachdem ich es geändert habe hat es funktioniert.
Also vielen Dank für deine Hilfe und deinen Buchtipp.
Gruß Andreas
AW: Zeilen kopieren in andere Tabelle
18.08.2005 19:39:35
Erich
Hallo Andreas,
danke für die Rückmeldung - ich war schon etwas ins Grübeln gekommen ob des Formelfehlers.
Dabei hätte ich sofort auf die Lösung kommen können: Ich arbeite üblicherweise mit Z1S1, hielt mich aber (in dieser Beziehung) für einen absoluten Exoten. Hier im Forum (auch in anderen Foren) ist die A1-Bezugsart "normal", und deshalb stelle ich, wenn ich etwas fürs Forum mache, auf A1 um...
Grüße von Erich aus Kamp-Lintfort
AW: Zeilen kopieren in andere Tabelle
18.08.2005 20:42:01
Kossmann
Hallo Erich,
Hat die Bezugsart Z1S1 irgendwelche Vorteile gegenüber A1?
Gruß Andreas
AW: Z1S1 versus A1
19.08.2005 10:24:03
Erich
Hallo Andreas,
im Prinzip sind die beiden Darstellungen gleichwertig. Wenn man in VBA mit Zeilen- und Spaltennummern rechnet, etwa bei Cells(zz, sp + 7), sieht man die Spaltennummern bei Z1S1 direkt als Spaltenüberschrift - die Buchstaben sind dann weniger sprechend.
Grüße von Erich aus Kamp-Lintfort

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige