Verbessertes Einfügen einer Leerzellen unter der Verwendung von Feldern
#21
*fransenammundhabend*
Belastbare Zahlen für das Einfügen einer Zelle in einer extrem belegten Spalte (1.000.000 Zeilen in einer Spalte mit jeweils 500 Zeichen)?

Fragt sich Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#22
Hi Günter,

(08.02.2016, 20:12)WillWissen schrieb: Und daraufhin habe ich den Link ausprobiert und ebenfalls den Fehler wie Ralf festgestellt. Und jetzt verstehe ich deinen Einwand nicht.

nett. Vor Deinem Edit sah Dein Post nämlich ganz anders aus.   Dodgy

Gruß Uwe
Top
#23
Hi Uwe,

hättste halt geschrieben, dass du den "Geheimdienstsalat" meintest, der sich nach dem Einfügen des Screenshots gebildet hat. :05: Aber dafür konnte ich nichts - ich hatte nicht damit gerechnet, dass mein Beitrag überhaupt eingestellt wurde. Denn nach Klick auf Absenden meldete mein PC einen Internal Server Error.

Samma mehr guat :15:
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#24
Hi Ralf,

(08.02.2016, 20:56)RPP63 schrieb: Belastbare Zahlen für das Einfügen einer Zelle in einer extrem belegten Spalte (1.000.000 Zeilen in einer Spalte mit jeweils 500 Zeichen)?

Algor war bisher nicht mehr im Forum.
Top
#25
Wenn ich das richtig verstanden habe:


Code:
Sub M_snb()
   M_snb_001 ActiveCell
End Sub

Sub M_snb_001(cl)
    With UsedRange
        sn = .Resize(.Rows.Count + 1, .Columns.Count + 1).Formula
                
        sr = Evaluate("row(1:" & UBound(sn) & ")")
        sr(cl.Row, 1) = UBound(sr)
        For j = cl.Row + 1 To UBound(sr)
          sr(j, 1) = j - 1
        Next
        
        sc = Evaluate("row(1:" & UBound(sn, 2) & ")")
        sc(cl.Column, 1) = UBound(sc)
        For j = cl.Column + 1 To UBound(sc)
          sc(j, 1) = j - 1
        Next
        
        .Resize(.Rows.Count + 1, .Columns.Count + 1) = Application.Index(sn, sr, Application.Transpose(sc))
    End With
End Sub
Top
#26
Hallo Snb,

könntest du deinen Code nochmal kontrollieren. Erst meldet der Compiler Variablen nicht definiert, hat man das dann gemacht, folgt die nächste Fehlermeldung
Object erforderlich.
Top
#27
Lösche Option Explicit.
Füge das macro ins Codemodule des Arbeitsblattes das die Daten enthält.

Oder indiziere welche usedrange gemeint ist:

Sheets(1).usedrange, oder Tabelle1.usedrange, oder Sheets("Tabelle1").usedrange
Ist doch ein 'clever' Forum, nicht ?
Top
#28
Hallo snb,

Dein Code macht aber etwas anderes als der Code vom TE.
Er schreibt, dass sein Code funktioniert. Er möchte keine Lösung für ein Problem, sondern eine eventuelle Code Optimierung.

Sein Code ist in meinen Augen Optimal.
Persönlich würde ich nur zum Löschen statt Leerstring, Clearcontents nutzen, wie auch schon mehrfach erwähnt.
Gruß Atilla
Top
#29
Hi,

(09.02.2016, 20:04)snb schrieb: Lösche Option Explicit.

nur weil Du zu faul bist, die verwendeten Variablen ordentlich zu deklarieren und zu dimensionieren, sollen die User, die normalerweise deutlich weniger Ahnung von VBA haben als Du, die Möglichkeit ausschalten, auf solche Code-Fehler hingewiesen zu werden?

Welchen Grund gibt es diese Hilfe zu unterlassen sonst, als nur um ein paar Tastendrücke zu sparen und dadurch unübersichtlicher zu programmieren?
Welche Nachteile hat der Programmierer durch Verwendung von "Option Explicit"?

Zitat:Ist doch ein 'clever' Forum, nicht ?

das heißt aber nicht, daß jeder Anfänger so viel Ahnung hat, um allein drauf zu kommen.
Top
#30
Hallo,

(09.02.2016, 22:51)Rabe schrieb: als nur um ein paar Tastendrücke zu sparen

ganz im Gegenteil: Option Explicit, Intellisense und Techniken des Schreibens

Gruß Uwe
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste