Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Fehlende Funktionalitäten in Excel / Brainstorming
#1
Moin zusammen!

Ich bin gerade dabei, ein Add-In zu erstellen, welches die Bedienung von Excel erleichtern soll.
Mir geht es darum, häufig benötigte Abläufe zu integrieren, die mit "Bordmitteln" nur umständlich zu realisieren sind.
("sprechende" Shortcuts inclusive)

Vielleicht erfahre ich auf diesem Wege benötigte Funktionen, die ich vermisse, obwohl es mir bislang nicht auffiel …  :19:

Ich fange mal mit vier Sachen an, die ich im Alltag sehr häufig nutze:

Datei neu laden
gibt es bei OO, bei Excel nicht (Strg+Umsch+N):

Sub NeuLaden()
Application.DisplayAlerts = False
With ActiveWorkbook
  If .Saved Then Exit Sub
  If Dir(.FullName) <> "" Then
     Workbooks.Open .FullName
  Else
     MsgBox .FullName & " wurde noch nicht gespeichert!"
  End If
End With
End Sub


Formeln mit Werten ersetzen
Gern in Verbindung mit =Zufallsbereich() (Strg+Umsch+W):
Sub FormulaToValue()
Selection.Value = Selection.Value
End Sub

Spaltenbreite optimieren
Gerade nach einem Import häufig genutzt (Strg+Umsch+B):
Sub SpaltenOpt()
ActiveSheet.Cells.EntireColumn.AutoFit
End Sub

Zeilen/Spalten einblenden
Auf einen Rutsch, ohne Maus-Jongliererei (Strg+Umsch+E):
Sub AlleEinblenden()
With ActiveSheet.Cells
  .EntireColumn.Hidden = False
  .EntireRow.Hidden = False
End With
End Sub

Vorschläge sind willkommen!

Gruß 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)
Antworten Top
#2
Hi Ralf,

so auf die ganz schnelle Schnelle ;)  fällt mir ad hoc ein, dass in OO die Spaltenbreite und die Zeilenhöhe in cm angegeben werden kann. Klar, auf dem Papier kommt's meistens ein klein wenig anders raus, aber ich habe dabei trotz allem gute Ergebnisse erzielt. In meinen Formeln- bzw. Codeschnipsel-Sammlungen habe ich irgendwo ein Makro "gebunkert", das dieses auch in XL realisiert - hab's aber gerade nicht gefunden. Ich schau da heute abend mal genauer nach - vielleicht dient es dir als Anhaltspunkt.

Übrigens, Hut ab und schon vorab ein großes Dankeschön für dein Engagement.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#3
Hallo Ralf,

willst Du nur Vorschläge oder auch gleich codes dazu?

z.b.
alle offenen Exceldateien ohne Speichern schließen
alle offenen Exceldateien mit speichern schließen

mit dem Ansatz
Code:
For i = Workbooks.count To 1 Step -1
    If Workbooks(i).name <> ThisWorkbook.name Then Workbooks(i).Close False
  Next
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#4
Hi Ralf,

ich habe die Codes gefunden. Ich weiß leider nicht mehr, woher ich die habe und wer sie geschrieben hat. Hoffentlich macht das nichts aus.

Hier für die Spaltenbreite...


Code:
Sub Spaltenbreite()
Dim sBreite As Single
Dim sAktuell As Single
Dim strText As String
Dim strAntwort As String
 sAktuell = (Selection.ColumnWidth + 0.71) / 5.1425
 strText = "Aktuelle Spaltenbreite: " & _
   Format(sAktuell, "###0.00 cm") & Chr(13) _
   & "Geben Sie die gewünschte Spaltenbreite für die " & _
   "aktuelle Spalte oder Markierung in cm ein:"
 strAntwort = InputBox(strText, "Neue Spaltenbreite festlegen", _
 Format(sAktuell, "###0.00"))
  If strAntwort <> "" Then
    sBreite = CSng(strAntwort)
    Selection.ColumnWidth = -0.71 + 5.1425 * sBreite
  End If
End Sub


... und hier für die Zeilenhöhe


Code:
Sub Zeilenhoehe()
Dim sHoehe As Single
Dim sAktuell As Single
Dim strText As String
Dim strAntwort As String
 sAktuell = Selection.RowHeight / 29.5
 strText = "Aktuelle Zeilenhöhe: " & Format(sAktuell, "###0.00 cm") _
   & Chr(13) & "Geben Sie die gewünschte Zeilenhöhe für die " & _
   "aktuelle Zeile oder Markierung in cm ein:"
 strAntwort = InputBox(strText, "Neue Zeilenhöhe festlegen", _
 Format(sAktuell, "###0.00"))
  If strAntwort <> "" Then
    sHoehe = CSng(strAntwort)
    Selection.RowHeight = sHoehe * 29.5
  End If
End Sub
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
[-] Folgende(r) 1 Nutzer sagt Danke an WillWissen für diesen Beitrag:
  • RPP63
Antworten Top
#5
Hi Günter,

(18.12.2015, 21:00)WillWissen schrieb: ich habe die Codes gefunden. Ich weiß leider nicht mehr, woher ich die habe und wer sie geschrieben hat. Hoffentlich macht das nichts aus.

http://netcult.ch/MVP_Ramel/Files/AddIns..._in_cm.XLA Wink

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • RPP63
Antworten Top
#6
Hi Uwe,

danke für den Hinweis.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#7
Die Spaltenbreite:

Code:
Sub SpaltenOpt()
   ActiveSheet.Columns.AutoFit
End Sub

Code:
Sub AlleEinblenden()
  With ActiveSheet
    .Columns.Hidden = False
    .Rows.Hidden = False
  End With
End Sub

und
Code:
MsgBox .FullName & " wurde noch nicht gespeichert!"
stiimt nicht, weil es kein .fullname gibt ohne Speicherung.
Antworten Top
#8
Hi,

(19.12.2015, 22:41)snb schrieb:
Code:
MsgBox .FullName & " wurde noch nicht gespeichert!"
stiimt nicht, weil es kein .fullname gibt ohne Speicherung.

Dein Unwissen darfst Du gerne für Dich behalten!  :@

Gruß Uwe
Antworten Top
#9
Ich möchte vorschlagen:

Code:
Sub M_snb()
    For Each it In Sheets(1).Cells(10, 4).Precedents
      With Sheets(1).Cells(10, 4)
        .Replace it.Address(0, 0), it.Address
        .Replace it.Address(0, 1), it.Address
        .Replace it.Address(1, 0), it.Address
      End With
    Next
End Sub
Antworten Top
#10
Hi,

(20.12.2015, 00:05)snb schrieb: Ich möchte vorschlagen:

danke für den Vorschlag, nur:
ich weiß nicht, was wo stehen muß und was das Makro macht.

Hilf mir bitte mit etwas Erleuchtung.
Antworten Top


Gehe zu:


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