Anzeige
Archiv - Navigation
612to616
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
612to616
612to616
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Links die Zeichen per Makro entfernen...?

Links die Zeichen per Makro entfernen...?
Selma
Hallo Excelfreunde,
ich möchte mit Hilfe VBA dies machen:
1. Zellen, die ich bearbeiten möchte werden markiert bzw. selektiert.
2. Das Makro soll mit Tastenkombination STRG+E gestartet werden.
3. Bei ersten Durchlauf des Makro wird "von links gesehen" ein Zeichen des Zellinhaltes entfernt.
4. Bei zweiten Durchlauf des Makro wird "von links gesehen" ein weiteres Zeichen des Zellinhaltes entfernt, usw.....
Ist das machbar? Wenn ja, wie?
Vielen Dank im Voraus....
Liebe Grüße
SELMA

45
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Links die Zeichen per Makro entfernen...?
Boris
Hi Selma,
Option Explicit
Sub aaa() Dim C As Range For Each C In Selection C = Mid(C, 2) Next C End Sub
Grüße Boris
AW: Links die Zeichen per Makro entfernen...?
Selma
Hallo Boris,
es funktioniert prima....
DANKESCHÖN
Gruß
SELMA
AW: Links die Zeichen per Makro entfernen...?
Hajo_Zi
Hallo Selma,
zu 1
zu 2 Extra, Makro, Makro, Makro wählen Optionen
zu 3 bis ....
Option Explicit
Sub abtrenen() '* H. Ziplies * '* 17.05.05 * '* erstellt von Hajo.Ziplies@web.de * '* <a href="http://home.media-n.de/ziplies/">http://home.media-n.de/ziplies/</a> * ' linkes Zeichen abtrennen Dim RaZelle As Range Application.ScreenUpdating = False For Each RaZelle In ActiveSheet.UsedRange RaZelle = Mid(RaZelle, 2, Len(RaZelle)) Next RaZelle Application.ScreenUpdating = True End Sub
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.



"Wer Rechtschreibfehler findet, darf sie behalten!"
Dies gilt auch für Bert.
Anzeige
AW: Links die Zeichen per Makro entfernen...?
Selma
Hallo Hajo,
Dein Code werde ich auch gut einsetzen können, wenn ich bei allen Zellen des AB links die Zeichen entfernen möchte.
DANKESCHÖN....
Gruß
SELMA
AW: Links die Zeichen per Makro entfernen...?
NE
Hallo Hajo,
also hm, naja hab' mal irgendwo gelesen es gibt triviale Codes
und welche mit einer gewissen 'Schöpfungshöhe', die Frage ist nur:
Wo endet Ersteres und wo beginnt Letzteres? ;;-)))
Ach, naja wär eher was für's OT - aber na auch wurscht,
ist nicht böse gemeint, musst nur grade etwas schmunzeln;-)
lg Nancy
AW: Links die Zeichen per Makro entfernen...?
Herbert
Hallo Nancy,
was gefällt dir denn an Hajos Schöpfung nicht?
Ich habe nur gemerkt, dass der Code sich absolut nicht an die ausgewählten/markierten/selectierten Zellen hält und nebenbei noch alle Formeln im gesamten Tabellenblatt vernichtet.
Das ist mir bei Boris´Code nicht passiert.
Regards
Anzeige
AW: Links die Zeichen per Makro entfernen...?
Hajo_Zi
Hallo Norbert,
da habe ich wohl den falschen Code als Grundlage genommen. Der letzte Teil in der For Zeile muß nartürlich
In Selection.Cells lauten
Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.

"Wer Rechtschreibfehler findet, darf sie behalten!"
Dies gilt auch für Bert.
Anzeige
AW: Links die Zeichen per Makro entfernen...?
Hajo_Zi
Hallo Herbert,
entschuldigung das ich Dich mit dem falschen Namen angesprochen habe.
Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.

"Wer Rechtschreibfehler findet, darf sie behalten!"
Dies gilt auch für Bert.
Anzeige
AW: Links die Zeichen per Makro entfernen...?
Herbert
Hallo Hajo,
das hat ja Boris auch so gemacht.
Eine Frage aber noch - warum schreibst du
RaZelle = Mid(RaZelle, 2, Len(RaZelle))
Nach Boris´ Vorgehensweise reicht auch
RaZelle = Mid(RaZelle, 2)
Regards
AW: Links die Zeichen per Makro entfernen...?
Hajo_Zi
Hallo Herbert,
ich habe bei dem Beispiel nicht in die Hilfe geschaut. Einiges wird auch Live erstellt.
Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.

"Wer Rechtschreibfehler findet, darf sie behalten!"
Dies gilt auch für Bert.
Anzeige
AW: Links die Zeichen per Makro entfernen...?
Herbert
Hallo Hajo,
aber ich hatte in die Hilfe geschaut;-))
Ich hatte eigentlich von dir erwartet, dass du mir erklärst, worin der Vorteil besteht, in der Formel die Länge noch zu bestimmen.
Am praktischen Beispiel:
Wenn ich eine ganze Wurst habe und nur die Schnur abschneiden will, interessiert mich doch der Rest der Wurst nicht, sondern nur wo ich schneiden muss.
Sehe ich da was falsch?
Mal noch nebenbei - du musst dir meine Frage schon durchlesen.
Die lautete
Eine Frage aber noch - warum schreibst du
RaZelle = Mid(RaZelle, 2, Len(RaZelle))

Und genau die hast du mir nicht beantwortet. Zumindest sehe ich es so.
Regards
Anzeige
AW: Links die Zeichen per Makro entfernen...?
Hajo_Zi
Hallo Herbert,
genau die Frage habe ich beantwortet. "Ich habe nicht in die Hilfe geschaut". Wenn Du es gemacht hättest wäre die Frage auch beantwortet. Falls nich vorhanden hier ein Auszug.
"length Optional; Wert vom Typ Variant (Long). Anzahl der zurückzugebenden Zeichen. Wird length nicht angegeben oder befinden sich weniger Zeichen im Text (das Zeichen an der Stelle start eingeschlossen), als durch length angegeben, so werden alle Zeichen ab start bis zum Ende der Zeichenfolge zurückgegeben. "
Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.

"Wer Rechtschreibfehler findet, darf sie behalten!"
Dies gilt auch für Bert.
Anzeige
AW: Links die Zeichen per Makro entfernen...?
Hajo_Zi
Hallo Herbert,
ich habe bei dem Beispiel nicht in die Hilfe geschaut. Einiges wird auch Live erstellt.
Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.

"Wer Rechtschreibfehler findet, darf sie behalten!"
Dies gilt auch für Bert.
Anzeige
AW: Links die Zeichen per Makro entfernen...?
Herbert
Hallo Hajo,
das hattest du mir auch schon vor ca. 15 Minuten geschrieben.
Sorry.
Gruß Herbert
AW: Links die Zeichen per Makro entfernen...?
Hajo_Zi
Hallo Herbert
das hatten wir doch gerade vor paar Tagen wie schnell man einen Beitrag wiederholen kann. Wie Du schon festgestellt hast ist es der gleiche Beitrag.
Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.

"Wer Rechtschreibfehler findet, darf sie behalten!"
Dies gilt auch für Bert.
Anzeige
AW: Links die Zeichen per Makro entfernen...?
Herbert
Hallo Hajo,
wenn du das schnell nennst
 
 A
117.05.2005 21:30:11
217.05.2005 21:45:36
300:15:25
Formeln der Tabelle
A3 : =A2-A1
 

Ich habe mir mal die Mühe gemacht, und die Zeitdifferenz nachrechnen lassen.
Übrigens - ich hatte in der Hilfe nachgelesen und war zu dem Schluss gekommen, dass Len() nicht nötig ist.
Ich bin der Meinung, dass in VBA zu 99% nicht benötigte Code-Teile den Code nicht nur unübersichtlich machen, sondern auch langsamer.
Jetzt verstehe ich auch, warum du die Bildschirmaktualisierung anfangs deaktivierst. Das steht nämlich zu diesem Beispiel nicht in der Hilfe. Wenn das so stimmt, ist natürlich der Urheberhinweis zu Beginn absolut berechtigt.
Gruß Herbert
AW: Links die Zeichen per Makro entfernen...?
NE
Hallo Herbert,
das hat nix mit Gefallen oder nicht Gefallen zu tun,
ich meinte mit 'Trivial', dass wahrscheinlich viele die Mid oder Right - Funktion
nutzen würden bei der Frage, deswegen fand ich 7 Zeilen Kommentar zu 8 Codelines
etwas naja ... *dream* ;-)
Ich meinte das so in etwa, wie es hier ganz nett rüberkommt:
http://www.autolisp-tutorial.mapcar.net/rechts.html
Aber, okay - passt scho', nix für ungut;-)
lg Nancy
AW: Links die Zeichen per Makro entfernen...?
Herbert
Hallo Nancy,
ich glaube, die acht Kommentar-Zeilen sind wichtiger als der falsche Code.
https://www.herber.de/forum/messages/612136.html
Hoffentlich liest sich Hajo deinen Link auch mal durch - dann nimmt er küftig auch noch ein © mit auf.
Gruß Herbert
AW: Links die Zeichen per Makro entfernen...?
Selma
Hallo,
eine Frage habe ich noch...
Wie sieht der Code aus, wenn ich von rechts Zeichen wegnehmen möchte?
Danke und Gruß
SELMA
AW: Links die Zeichen per Makro entfernen...?
NE
'original by Boris found on May, 17/05 'Function changed by NE also on May 17/05 'based on newsgroup: www.herber.de 'please do'nt remove this comment ';;;-))))) Sub aaa() Dim C As Range For Each C In Selection If Len(C) <> 0 Then C = Left(C, Len(C) - 1) Next C End Sub
Gruss Nancy
;-))
Boris
Grüße Boris
AW: Links die Zeichen per Makro entfernen...?
Ramses
Hallo Nancy
Da sich die Frage auf rechts bezog, hier der modifizierte Code
'*********************************************
'original by Boris found on May, 17/05
'

Function changed by NE also on May 17/05
'Modified by Ramses
'based on newsgroup: www.herber.de
'please do'nt remove this comment
';;;-)))))

Sub aaa()
Dim C As Range
For Each C In Selection
If Len(C) <> 0 Then C = Right(C, Len(C) - 1)
Next C
End Sub

Gruss Rainer
Beitrag zurückgezogen...
Ramses
Hallo Nancy
Boris hat mich gerade aufgeklärt wie das gemeint war :-)
Sorry :-)
Gruss Rainer
AW: Beitrag zurückgezogen...
Herbert
Hallo Rainer,
dann geht´s auch noch kürzer
If Len(C) &gt 0 Then C = Right(C, Len(C) - 1)
Manche Sachen werden live und ohne Hilfe gemacht.
Ich will aber bitte nicht in den Kommentar.
Habe schon gut was gelernt ;-)
Gruß Herbert
AW: Links die Zeichen per Makro entfernen...?
NE
neenee Rainer, du machst ja wieder von links, Selma wollte doch von rechts löschen, oder?
Oder kann auch sein, ich steh' mal wieder neben der Kappe, Frauen sind ja für
'Rechts-Links-Schwächen' bekannt, kann also durchaus sein, dass ich da was verwechselt habe, ich weisses nicht;-)
Grüsse Nancy
oki;-)
NE
:zwinker , lg Nancy
Ultimativ perfektioniert:
Ramses,
Option Explicit

Sub Zeichen_Von_Rechts_Loeschen()
'by Ramses, Beate und Boris               *
'in schwerer Teamwork per Skype entbunden *
'Ungetestet am 17.05.2005                 *
'Please don´t remove this Comment         *
Dim strTemp As String, strTemp2 As String, i As Byte, j As Long, x As Double
Selection.Select
x = Selection.Cells.Count
j = 1
Do
strTemp = ActiveCell.Value
For i = Len(strTemp) - 1 To 1 Step -1
strTemp2 = strTemp2 & Mid(strTemp, i, 1)
Next i
strTemp = StrReverse(strTemp2)
ActiveCell = strTemp
ActiveCell.Offset(1, 0).Select
strTemp = ""
strTemp2 = ""
j = j + 1
Loop Until j > x
End Sub

Jetzt bist du am Zug.
Gruß Beate, Rainer und Boris
Nicht i as Byte, sondern as Integer!!!
Boris,
Adlerauge sei wachsam!
i als Byte geht nicht - dafür mit Integer.
Gruß Beate, Rainer und Boris
AW: Nicht i as Byte, sondern as Integer!!!
NE
lg an das nette Trio *feix*;-)
bis denne, Nancy
AW: Nicht i as Byte, sondern as Integer!!!
Jochen
Hallo zusammen,
sehr leerreicher Beitrag habe eine menge dazugelernt.
Warum geht das mit Byte nicht?
Grüße Jochen
AW: Nicht i as Byte, sondern as Integer!!!
Boris
Hi Jochen,
...kann ich dir sagen: Der Variablenname muss immer mit dem Anfangsbuchstaben des Variablentypen beginnen (zumindest ist das bei "i" so). Und i und Byte passt da nicht - i und Integer dagegen schon.
Grüße Boris
AW: Nicht i as Byte, sondern as Integer!!!
NE
Jochen, ich weisses auch nicht genau,
vermutlich ist byte einfach zu schwach auf der Brust?;-)
Ernsthaft- Byte geht nur von 0 bis 255 [glaube], ints gehen wenigenstens bis paar in die +/- 3000
Ganzzahlen, habs nicht im Kopf und bin zu faul nachzugucken, kann also gut sein, bei Byte gibts
im Falle eines Falles nen Überlauf;-)
@Trio: right?;-))
lg Nancy
AW: Nicht i as Byte, sondern as Integer!!!
Boris
Hi Nancy,
@Trio: right?;-))
Inhaltlich schon - auf der "Wie-war-der-Beitrag-von-Jochen-gemeint"-Ebene allerdings derzeit wohl nicht ganz auf der Höhe ;-))
Grüße Boris
AW: Nicht i as Byte, sondern as Integer!!!
Jochen
Hallo zusammen,
das war es, habe jetzt mal probiert Dim i as iByte und schon ging es. Wie kann man
das lernen? Kannst du mir ein Buch empfehlen?
Grüße Jochen
AW: Nicht i as Byte, sondern as Integer!!!
Boris
Hi Jochen,
Kannst du mir ein Buch empfehlen?
Nein, denn so was kann man nicht lernen - das ist Dir gegeben oder eben nicht.
iByte kannte ich bisher noch nicht.
Müsste dann ja auch mit iDate funktionieren - klasse.
Grüße Boris
iByte ? Wie bitte ?
Ramses
Hallo Boris
da streiken meine Hilfedateien, das MSDN Developer Network macht einen Kopfstand und Google bringt alles,... bloss keine Erklärung.
Was soll das denn sein.
Funktionieren tuts jedenfalls nicht.
Gruss Rainer
Aber klar doch...
Boris
Hi Rainer,
...wie gesagt: Variablenname und Typ müssen nur den selben Anfangsbuchstaben haben.
So kann man auch deklarieren:
Dim q as qInteger
Dim z as zObject
usw. usw.
Das kann man halt nicht wissen...:-p
Grüße Boris
AW: Aber klar doch...
Ramses
Hallo Boris
Probier das mal aus
Option Explicit

Sub TEST()
Dim i As ibyte
i = 25
MsgBox i
End Sub

Wenn es bei dir funktioniert,... wie bringst du es dann zum Laufen ?
Gruss Rainer
AW: Aber klar doch...
Boris
Hi Rainer,
keine Ahnung, warum das bei dir nicht geht - bei mir geht es auch nicht.
;-))))))))))))))))))))))))))))
Grüße Boris
AW: Aber klar doch...
NE
Hallo,
also mit den Integerbytes geht das so:
Type iByte: i As Integer: ii As Byte: End Type

Sub integerByte()
Dim i As iByte
i.i = 100
i.ii = i.i
MsgBox LCase(Left(TypeName(i.i), 1)) & TypeName(i.ii)
End Sub

Ich hoffe ich konnte helfen;-)
lg Nancy
AW: Aber klar doch...
Ramses
Hallo Nancy
DAS ist mir schon klar, aber bitte wie kommt jemand der von VBA keine Ahnung hat
Zitat:
"...das war es, habe jetzt mal probiert Dim i as iByte und schon ging es..."
eine Private Type Deklaration zu schreiben ?
Das kann doch nicht so einfach funktionieren !!!
Gruss Rainer
AW: Aber klar doch...
NE
hm, das weiss ich allerdings auch nicht,
muss wohl ein ganz besonderer Rechner sein ... ;-)
lg Nancy
AW: Nicht i as Byte, sondern as Integer!!!
Ramses
Hallo Nancy
damit du nicht suchen musst :-)
Tabelle1
 ABC
1DatentypSpeichergrösseWertebereich
2Byte1 Byte0 bis 255
3Integer2 Bytes-32.768 bis 32.767
4Long4 Bytes-2.147.483.648 bis 2.147.483.647
5Single
(Gleitkommazahl mit einfacher Genauigkeit)
4 Bytes-3,402823E38 bis
-1,401298E-45 für negative Werte
1,401298E-45 bis
3,402823E38 für positive Werte.
6Double
(Gleitkommazahl mit doppelter Genauigkeit)
8 Bytes-1,79769313486231E308 bis
-4,94065645841247E-324 für negative Werte
4,94065645841247E-324 bis
1,79769313486232E308 für positive Werte.
7Currency
(skalierte Ganzzahl)
8 Bytes-922.337.203.685.477,5808
bis
922.337.203.685.477,5807
8Decimal14 Bytes+/-79.228.162.514.264.337.593.543.950.335 ohne Dezimalzeichen;
+/-7,9228162514264337593543950335 mit 28 Nachkommastellen
und wenn die kleinste Zahl ungleich Null ist
9String10 Bytes plus Zeichenfolgenlänge0 bis ca. 2 Milliarden.
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Gruss Rainer
AW: Nicht i as Byte, sondern as Integer!!!
NE
Danke Rainer,
aber du hast Boolean vergessen, 2Byte.
1Byte für das True und 1Byte für das False ;D
Naja, nur der Vollständigkeit halber;-)
lg Nancy
DANKESCHÖN o.T.
Selma
DANKESCHÖN

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige