Registriert seit: 12.04.2017
Version(en): 2013
[
Bild bitte so als Datei hochladen: Klick mich!]
Hallo,
ich würde gerne die Informationen aus A30:B32 per VBA als Überschrift des Reiters in Excel verwenden.
Die max. Anzahl an Zeichen ist meines Wissens nach begrenzt, daher wäre es super wenn dann im Reiter als Überschrift der Ort und die Straße angezeigt werden.
Hat da jemand ne Idee?
Grüße
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
Moin!
Zunächst:
Spalte A brauchst Du doch gar nicht, da offensichtlich in jedem Blatt gleich.
Max. Zeichenzahl imo 255
Bevor ich Dir ein Makro schreibe (ist ja keine Hexerei):
Ich würde mir den Aufbau der Datei überlegen!
Gleiche Daten(sätze) gehören in ein Blatt.
Die Anzeige oder Auswertung kannst Du dann in jeweils einem zusätzlich Blatt ("Formular" welches mittels SVerweis() o.ä. gefüllt wird [Auswahl per WE oder Ort/Strasse] sowie einer evtl. Pivot-Auswertung) vornehmen.
Außerdem ist eine Blattbezeichnung von ~ 200 Zeichen kontraproduktiv:
Du siehst auf der Oberfläche ja nur 2-3 "Reiter".
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)
Registriert seit: 12.04.2017
Version(en): 2013
Moin Ralf,
der Aufbau müsste so bestehen bleiben. Pro Blatt sollen alle Parameter einer Liegenschaft angezeigt werden.
Ist es mit deinem Makro dann möglich, dass in Blatt1 im Reiter Düsseldorf + Straße steht & im nächsten Reiter andere Stadt + Straße usw.?
Die Informationen zum Standort stehen immer in B31 und B32.
Grüße
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
Dein Wunsch ist mir Befehl! :21:
(ändert aber nichts an meiner grundsätzlichen Kritik zum Mappenaufbau)
In ein allgemeines Modul, danach Alt+F8, Makro RPP starten.
Sub RPP()
Dim wks As Worksheet
For Each wks In ThisWorkbook.Worksheets
On Error Resume Next
wks.Name = wks.Cells(31, 2) & Chr(32) & wks.Cells(32, 2)
If Err.Number <> 0 Then
MsgBox wks.Cells(31, 2) & Chr(32) & wks.Cells(32, 2) & " ist kein zulässiger Name!" & vbLf & _
"Entweder unzulässiges Zeichen oder Name bereits vergeben!"
End If
On Error GoTo 0
Next
End Sub
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)
Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:1 Nutzer sagt Danke an RPP63 für diesen Beitrag 28
• BachFel
Registriert seit: 12.04.2017
Version(en): 2013
22.08.2017, 10:00
Verstehe deine Kritik sehr wohl, ist tatsächlich auch berechtigt =)
Eine letzte Frage:
Kann man das Makro auch nur auf bestimmte Tabellenblätter anwenden (ohne noch ein VBA zu benutzen)?
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
So ganz verstehe ich Deine Nachfrage nicht.
Folgender Code lässt das Blatt "Hier nicht" außen vor:
Sub RPP()
Dim wks As Worksheet
For Each wks In ThisWorkbook.Worksheets
If wks.Name <> "Hier nicht" Then
On Error Resume Next
wks.Name = wks.Cells(31, 2) & Chr(32) & wks.Cells(32, 2)
If Err.Number <> 0 Then
MsgBox wks.Cells(31, 2) & Chr(32) & wks.Cells(32, 2) & " ist kein zulässiger Name!" & vbLf & _
"Entweder unzulässiges Zeichen oder Name bereits vergeben!"
End If
On Error GoTo 0
End If
Next
End Sub
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)
Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:1 Nutzer sagt Danke an RPP63 für diesen Beitrag 28
• BachFel
Registriert seit: 12.04.2017
Version(en): 2013
Brauche manchmal ein bisschen länger, pardon..
Und jetzt tatsächlich die letzte Frage bevor du/ ihr Ruhe von mir habt:
Gibt es die Möglichkeit wenn ich ein neues Tabellenblatt aufmachen will, dass das neue dann eine Kopie des vorherigen ist. Das ganze soll automatisch passieren, ich will also nicht per Rechtsklick das Blatt kopieren. Geht sowas überhaupt?
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
Und schon beißt sich die Katze in den Schwanz! :21:
Bei "meiner" vorgeschlagenen Liste hättest Du das Problem gar nicht erst.
Sei es drum:
Du kannst Dir natürlich eine leere Vorlage basteln,
diese ausblenden
und mittels eines per Shortcut gestarteten kleinen Makros eine Kopie derselben als letztes Blatt einfügen.
Sub neuesWKS()
Application.ScreenUpdating = False
With Worksheets("Vorlage")
.Visible = xlSheetVisible
.Copy After:=Sheets(Sheets.Count)
.Visible = xlSheetHidden
End With
End Sub
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)
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
(22.08.2017, 10:44)BachFel schrieb: Gibt es die Möglichkeit wenn ich ein neues Tabellenblatt aufmachen will, dass das neue dann eine Kopie des vorherigen ist. Das ganze soll automatisch passieren, ich will also nicht per Rechtsklick das Blatt kopieren. Geht sowas überhaupt?
Schiebe das letzte Blatt mit gedrückter Strg-Taste und gedrückter linker Maustaste nach rechts.
Gruß Uwe
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
Ich gehe dann doch eher von einer "Vorlage" aus, Uwe.
Was nutzt mir eine 1:1-Kopie eines ausgefüllten Sheets?
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)