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.

Anpassen Zellinhalt
#1
Hallo zusammen :)

Müsste eine kleine Änderung sein aber ich habe wohl irgendwo einen Denkfehler oder Flüchtigkeitsfehler

Ich würde gerne den Inhalt der Zellen von D4:D100 ändern und zwar soll da nur die ersten Zeichen des Inhaltes drinstehen.

Beispiel: In Zelle D4 steht D123456789 und am Ende soll D1234 stehen

Wollte dies so lösen aber das funktioniert nicht

Code:
For Y = 2 To 100
Worksheets("PP_" & Arr(I)).Cell(Y, 4) = Left(Worksheets("PP_" & Arr(I)).Cell(Y, 4), 5)
Next

Kann mir da jemand helfen?

Lg Primo
Antworten Top
#2
Moin!
Ich spendiere ein (besser 2) s
Das Objekt heißt Cells()

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:
  • Primo Centurio
Antworten Top
#3
Hahaha  19 das nächste Mal kannst du mir noch mit dem Kochlöffel eins auf den Kopf hauen  72  macht ja Sinn, wenn ich noch weiter Zellen ansprechen muss
Danke dir Ralf.
Antworten Top
#4
Mal ein Tipp!
Wenn Du (noch) unsicher bist, solltest Du den Umweg über eine Objektvariable gehen, die Du per Set = zuweisen musst.
Code:
Dim wks As Worksheet
Set wks = Worksheets("Tabelle1")

Das hat den großen Vorteil, dass die Intellisense funktioniert!
Nach Eingabe von wks.c erscheint eine Listbox mit Methoden und Eigenschaften des Objekts:


Angehängte Dateien Thumbnail(s)
   
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:
  • Primo Centurio
Antworten Top
#5
Evt kannst du mir noch bei was ähnlichem helfen.

Gibt es ne Möglichkeit bei VBA den Inhalt der Zelle auf die Breite der Zelle zu Kürzen?

Beispiel: Wenn "Amadeus Mozart" der Inhalt ist wird in der Ansicht nur "Amadeus Moz" angezeigt, kann ich über ein Befehl sagen, dass er den Inhalt von "Amadeus Mozart" auf "Amadeus Moz" ändert?
Die Anzahl der Zeichen ist von Zelle zu Zelle unterschiedlich. Bi Neugierig ob das geht.

Lg Primo

(03.07.2022, 10:05)RPP63 schrieb: Mal ein Tipp!
Wenn Du (noch) unsicher bist, solltest Du den Umweg über eine Objektvariable gehen, die Du per Set = zuweisen musst.
Code:
Dim wks As Worksheet
Set wks = Worksheets("Tabelle1")

Das hat den großen Vorteil, dass die Intellisense funktioniert!
Nach Eingabe von wks.c erscheint eine Listbox mit Methoden und Eigenschaften des Objekts:

Oh das kannte ich noch nicht mit wks.c. 
Danke :)
Antworten Top
#6
Hallo Primo, 19 

das kann man zweideutig verstehen. 21 

Meinst du das?

Da ist der VBA-Befehl: Dodgy 

Code:
ActiveCell.HorizontalAlignment = xlFill

Statt "ActiveCell" dann eben die Zelle die du brauchst.

Oder meinst du wirlich "kürzen" im Sinne von abschneiden?
________
Servus
Case
[-] Folgende(r) 1 Nutzer sagt Danke an Case für diesen Beitrag:
  • Primo Centurio
Antworten Top
#7
(03.07.2022, 10:38)Case schrieb: Hallo Primo, 19 

das kann man zweideutig verstehen. 21 

Meinst du das?

Da ist der VBA-Befehl: Dodgy 

Code:
ActiveCell.HorizontalAlignment = xlFill

Statt "ActiveCell" dann eben die Zelle die du brauchst.

Oder meinst du wirlich "kürzen" im Sinne von abschneiden?

19 dann habe ich ja jemanden zum lachen gebracht.

Ich meine wirklich kürzen, dass die Buchstaben, welche in der Ansicht nicht gezeigt werden, aus der Zelle gelöscht werden.

Lg Primo
Antworten Top
#8
Hallo Primo, 19 

prinzipiell so: 21 

Code:
Option Explicit
Public Sub Main_1()
    Dim strTMP As String
    strTMP = "Donaudampfschifffahrtsgesellschaftskapitänspatent"
    If Len(strTMP) > 10 Then strTMP = Left(strTMP, 10)
    Debug.Print strTMP
End Sub
Public Sub Main_2()
    Dim strTMP As String
    strTMP = "Amadeus Mozart"
    If Len(strTMP) > 11 Then strTMP = Left(strTMP, 11)
    Debug.Print strTMP
End Sub
Public Sub Main_3()
    Dim strTMP As String * 11
    strTMP = "Amadeus Mozart"
    Debug.Print strTMP
End Sub

Allerdings haben diese Varianten ein Problem - die Zahl 10 bzw. 11. Dodgy 

Das ist von vielen Faktoren abhängig (Schriftgröße, Schriftart und, und und...) siehe hier...
________
Servus
Case
[-] Folgende(r) 1 Nutzer sagt Danke an Case für diesen Beitrag:
  • Primo Centurio
Antworten Top
#9
(03.07.2022, 12:03)Case schrieb: Hallo Primo, 19 

prinzipiell so: 21 

Code:
Option Explicit
Public Sub Main_1()
    Dim strTMP As String
    strTMP = "Donaudampfschifffahrtsgesellschaftskapitänspatent"
    If Len(strTMP) > 10 Then strTMP = Left(strTMP, 10)
    Debug.Print strTMP
End Sub
Public Sub Main_2()
    Dim strTMP As String
    strTMP = "Amadeus Mozart"
    If Len(strTMP) > 11 Then strTMP = Left(strTMP, 11)
    Debug.Print strTMP
End Sub
Public Sub Main_3()
    Dim strTMP As String * 11
    strTMP = "Amadeus Mozart"
    Debug.Print strTMP
End Sub

Allerdings haben diese Varianten ein Problem - die Zahl 10 bzw. 11. Dodgy 

Das ist von vielen Faktoren abhängig (Schriftgröße, Schriftart und, und und...) siehe hier...
 Danke Case, werde mich in den nächsten Tagen mal damit auseinander setzen :)
Antworten Top


Gehe zu:


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