Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1592to1596
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

OPTIONAL - Code vereinfachen

OPTIONAL - Code vereinfachen
06.12.2017 11:53:59
Burak
Guten Morgen erneut,
die letzte Anfrage (für heute :D).
Dies ist rein OPTIONAL und bedarf keiner Priorität.
Es geht darum, dass ich gerne meinen Code so übersichtlich und vereinfacht wie möglich haben möchte.
Aufgrund von Daten, die ich nicht veröffentlichen kann, habe ich eine txt.Datei mit dem Code statt der Excel Tabelle hinzugeft.
https://www.herber.de/bbs/user/118138.txt
Wenn jmd Zeit und Lust hat, würde mich über jede Hilfe sehr freuen :)

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: OPTIONAL - Code vereinfachen
06.12.2017 12:05:55
mumpel
Hallo!
Kleines Beispiel ohne "Select":
Sub TabellenBereinigen()
Dim i As Long
    For i = 2 To Worksheets.Count
      With Worksheets(i)
          .Cells.Clear
        If .ChartObjects.Count > 0 Then
           .ChartObjects.Delete
        End If
      End With
    Next i
End Sub

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0

Gruß, René
Anzeige
AW: OPTIONAL - Code vereinfachen
06.12.2017 12:10:52
Burak
Ja das hat schonmal sehr geholfen, da er nicht jedes Tabellenblatt erst dafür öffnet.
Danke dir :*
VBA-Konverter
06.12.2017 22:41:32
lupo1
Hallo mumpel,
im Reiter "Weitere Einstellungen" ist das Dialogfeld m.E. zu hoch (keine Reserve, aufgrund voller Bildschirmhöhenausnutzung). Die Schaltflächen verbergen sich unter der Windows-Startleiste. Außerdem werden manche Labels zweizeilig und sind dann nicht mehr komplett zu lesen.
Surface Pro 4, 2736 x 1824 Pixel (!), Bildschirm auf 225%.
Ich habe den Konverter gerade eben erst runtergeladen.
AW: VBA-Konverter
07.12.2017 11:14:24
mumpel
Meinst Du unser "VBAHTML"? Am Dialog wird sich nichts ändern. Optisch angepasst ist der eher an hohe Auflösungen. Man kann Dialoge zwar skalieren, aber dann sieht es noch schlechter aus.
Anzeige
hmm ...
07.12.2017 12:30:45
lupo1
Ich wollte nur gesagt haben:
Es wäre besser, wenn Ihr das Dialogfeld in der Höhe etwas schrumpft. Denn es breitet sich auf 100% Bildschirmhöhe aus, egal, ob es verdeckt wird oder nicht. 90% oder 95% reichen ja schon.
Und das ist unergonomisch.
Ich habe das Glück, dass ich den Bildschirm rotieren kann. Nur so konnte ich es überhaupt einmal ganz sehen (die Windows-Startleiste wollte ich deswegen nicht ausblenden müssen). Bei 100% Bildschirmhöhennutzung kann man das Dialogfeld vertikal nicht bewegen.
AW: hmm ...
07.12.2017 20:08:48
mumpel
Den Dialog kann ich nicht noch kleiner machen. Dann passt nämlich nichts mehr rein. Es sei denn ich nehme ein paar Funktionen raus (z.B. die FTP-Funktion).
Anzeige
AW: OPTIONAL - Code vereinfachen
06.12.2017 12:25:35
mumpel
Im Übrigen müsstest Du bei "Formatierung sämtlicher Arbeitsblätter" eine Fehlermeldung bekommen, da das "For i" nicht abgeschlossen ist (da fehlt "Next i").
AW: OPTIONAL - Code vereinfachen
06.12.2017 12:59:19
Burak
nein ehrlich gesagt liegt das nur daran dass ich scheinbar wie auch immer beim kopieren das ausgelassen habe. es steht aber eins drin. :)
AW: OPTIONAL - Code vereinfachen
06.12.2017 17:24:56
onur
Wenn du das eine eine sub schreibst, brauchst nicht alles 2x zu haben, rufst stattdessen die sub auf:
Set ws = ActiveWorkbook.Sheets("R5")
Worksheets("R5").Activate
Range("B1").Select
Zeilenzahl = Selection.CurrentRegion.Rows.Count
Range("B" & Zeilenzahl + 1).Value = "keine Daten"
Range("C" & Zeilenzahl + 1).Value = "für"
Range("D" & Zeilenzahl + 1).Value = enddatum - 1
Range("E" & Zeilenzahl + 1).Value = "6 Uhr früh"
Range("F" & Zeilenzahl + 1).Value = "bis"
Range("G" & Zeilenzahl + 1).Value = enddatum
Range("H" & Zeilenzahl + 1).Value = "6 Uhr"
Range("I" & Zeilenzahl + 1).Value = "früh"

Wenn du dafür eine Funktion schreibst
bauteilFehlt = WorksheetFunction.CountIfs(Range("A2:A" & Zeilenzahl), barcode, Range("G2:G" & Zeilenzahl), bauteil, Range("H2:H" & Zeilenzahl), "=1")

und ihr den Range und den Vergleichswert übergibst, msst du nur z.B. eingeben:
bauteilFehlt =MeineFunktion("H2:H" & Zeilenzahl,"=1")

Anzeige
AW: OPTIONAL - Code vereinfachen
07.12.2017 07:57:59
Burak
Guten Morgen,
danke schonmal.
also das mit dem Sub für die 10 Zeilen hat super funktioniert, musste eine Variable nur auf global setzen.
Was die Funktion angeht, ich verstehe was du meinst, hab bisher noch gar nich mit Functions gearbeitet, daher hat mein erster Versuch natürlich nicht geklappt:
Private Sub xx()
bauteilFehlt = zaehlen(Range("H2:H" & Zeilenzahl), "=1")
End Sub
Function zaehlen(x As String) As String
zaehlen = WorksheetFunction.CountIfs(Range("H2:H" & Zeilenzahl), fehlercode, x)
End Function Wo liegt mein Fehler?
Grüße
Anzeige
AW: OPTIONAL - Code vereinfachen
07.12.2017 08:05:39
onur
Schaue ich mir an, sobald ich zu hause bin.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige