Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Zeigt her Eure Excel-Makros :-)





Frage

Hi, was sind so Eure Makro-Favoriten, die immer wieder gebraucht werden? Ich fange mal an :-) Unten von mir ein Code, gedacht für einen Symbolleisten-Button. Durch Klick darauf wird im aktiven Tabellenblatt eine Range ausgewählt, bis zu der sich die Daten befinden. [code]Sub AlleZellenMitDatenMarkieren() '############################################################# 'Markiert dem Zellbereich, der alle Daten enthält. 'Dabei wird bei Zelle A1 gestartet. 'Es wird (a) die letzte Zeile mit Daten ermittelt (über alle 255 Spalten), dabei die unterste Zeile gesucht 'Dann wird (b) de letzte Spalte mit Daten ermittelt 'Als Ergebnis werden alle Zellen von A1 bis zum jeweiligen Treffer markiert '############################################################# On Error GoTo ErrorHandler Dim X As Long 'Spalte Dim Y As Long 'Zeile Dim lLastRowCurrent As Long Dim lLastRowOverAll As Long Dim lLastColumnCurrent As Long Dim lLastColumnOverAll As Long Dim ws As Worksheet Set ws = ActiveSheet 'Aktuelles Tabellenblatt lLastRowOverAll = 1 lLastColumnOverAll = 1 '----> Letzte Zeile mit Daten For X = 1 To 255 Y = ws.Rows.Count lLastRowCurrent = ws.Cells(Y, X).End(xlUp).Row If lLastRowCurrent > lLastRowOverAll Then lLastRowOverAll = lLastRowCurrent End If Next X '<------ 'MsgBox "Letzte Zeile mit Daten = " & lLastRowOverAll '----> Letzte Spalte mit Daten For Y = 1 To lLastRowOverAll 'Nimmt als Basis die letzte Zeile mit Daten, Grund: Speedup :-) X = ws.Columns.Count lLastColumnCurrent = ws.Cells(Y, X).End(xlToLeft).Column If lLastColumnCurrent > lLastColumnOverAll Then lLastColumnOverAll = lLastColumnCurrent End If Next Y '<------ 'MsgBox "Letzte Spalte mit Daten = " & lLastColumnOverAll 'Nun den Zellbereich mit Daten selektieren Range(ws.Cells(1, 1), ws.Cells(lLastRowOverAll, lLastColumnOverAll)).Select ExitScript: Exit Sub ErrorHandler: Resume ExitScript End Sub[/code] Logic

Antwort 1 von Ralfman

Hallo logic,
ich Versteh den sinn Deiner Anfrage nicht so ganz.
Ich bin zwar nicht der Macro Mensch und schon gar kein Excel-könner aber warum sollte sich jemand outen? möchtest Du sammeln um künftig mit wissen das nicht von Dir kommt...?

Mahl Ehrlich, was hast Du vor?

gruß
Ralfman

Bitte entschuldigt alle Rechtschreibfehler, aber
manchmal sind die Finger schneller als der kopf...



Antwort 2 von logic

>> aber warum sollte sich jemand outen?
Hä?

Jetzt verstehe ich Deine Frage nicht ganz.
>> möchtest Du sammeln um künftig mit wissen das nicht von Dir kommt...?
Verstehe den Satz auch nicht.

Hier soll jeder gerne posten, der Makros/Scripts im Einsatz hat bzw. erstellt hat, die auch für andere nützlich sein können. Hat überhaupt nix mit outen zu tun.

Aber erkläre doch bitte nochmal was Du meinst, habe jetzt Dein Posting 3mal gelesen ohne genau verstanden zu haben um was es geht, sorry.

Logic

Antwort 3 von Golf2004

Hallo loqic!
Ist eh toll das Du dir die Zeit mit MS-excel, vertreibst!
Aber bedenke auch, wer braucht ms-excel heut zu tag noch?

Wir in unserer Firma, wir arbeiten nur mit fertigen Applikationen und die Dinger sind noch dazu auf Linux aufgesetzt!

Excel ist nur ein Notnagel für arme Firmen und
Schüler!
Und wenn wieder ne neue Office-Version rauskommt,
dann funktionieren die excel-scripts eh nicht mehr mit der alten OFFICE-VERSION!
Damit meine ich, das MS-Zeugs ist nicht so recht
abwärts kompatibel zu älteren Office-Anwendungen!

DENN NICHT JEDER KAUFT SICH DAS NEUESTE EXCEL (bzw. OFFICE-PACKET).
Wenn Du ein excel-script mit office2004 erstellst, so kann ich es eh nicht benutzen - ich hab nur OFFICE2000 installiert und viele andere Leute auch!
Meine excel-scripts funktionieren ja auch nicht mit OFFICE97 (Schade um die Arbeit und Zeit die du vertrödelst).

Gruß Golf2004



Antwort 4 von logic

Golf:

Der größte Teil aller Firmen haben Excel als Standardanwendung.
Eine Abwärtskompatibilität ist meist gegeben, ich vermute zu größer 95%. Die restlichen 5% lassen sich schnell anpassen.
Es ist auch keine Zeitverschwendung, wenn Du wiederkehrende Aufgaben dank Exel-Makros abkürzt. Das oben gepostete Makro hat etwa 15 Minuten Zeit in Anspruch genommen es zu erstellen. Da ich selbst es oft brauche, und viele Kollegen auch, und es Zeit einspart, ist der BreakEven schnell erreicht.

Das Makro habe ich übrigens unter Excel 2000 erstellt, es würde mich stark wundern, wenn es unter Excel 2003 nicht mehr läuft.

Excel als Notnagel für Schüler? Nein, dafür kostet es zu viel.

Logic

Antwort 5 von Golf2004

Ja, ja ...excel-scripts sind schon aufwärts kompatibel aber nicht anders rum!

Ich kreide nicht das excel alleine schwarz an,
sondern alle ms-office packete generell.
z.B.: Vor jahren, hat unser Büro mit ms-power-point (mit officeXP)
incl. excel - eine tolle Präsentation erstellt
und auf gelabelten CD-R's erstellt - dann 100
fach kopiert und an Firmen Weltweit versendet.

Es war zum Tot lachen... (typisch ms)
Das Zeug hat nur auf unseren PC's funktioniert

Die fernen Länder haben nie was von ms-officeXP
gehört, bzw. nicht installiert gehabt.
(MS-OfficeXP ist auch nicht so recht abwärts-kompatibel zu ms-office2000).
Also unsere Powerpoint-Präsentation war vielleicht ein reinfall !!!!!!!!
Deshalb arbeiten wir nicht mehr mit ms-produkten!

Damit das nicht wieder passiert, haben wir auch zusätzlich noch teuere PräsentationsManager zu gekauft die nicht auf MS-Office aufsetzen sondern eigenständige EXE files erstellen können mit allem drum und dran, die dann automatisch auf CD-R's gebrannt werden ..oder auch nicht!

Gruß Golf2004



Antwort 6 von nighty

hi alle :)

unentbehrlich geworden :)

ermittelt die letzte zeile wie spalte

Set LastCell = ActiveSheet.Cells.SpecialCells(xlLastCell)
alta = LastCell.Row
a = LastCell.Row
Do While Application.CountA(Rows(a)) = 0 And a <> 1
a = a - 1
Loop
alta = a
altb = LastCell.Column
b = LastCell.Column
Do While Application.CountA(Columns(b)) = 0 And b <> 1
b = b - 1
Loop
altb = b
lzeile = alta
lspalte = altb

hatte sicci gepostet :)

gruss nighty



Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: