Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Alles Großbuchstaben schreiben durch eine Formel

Frage Microsoft Microsoft Office

Mitglied: Hummel85

Hummel85 (Level 1) - Jetzt verbinden

02.11.2006, aktualisiert 05.12.2006, 11666 Aufrufe, 24 Kommentare

Hi,

ich sitze hier echt vor einem Problem. Ich muss alle Zellen in der Spalte B und D mit Großbuchstaben versehen. Also momentan ist es Mal groß mal klein mal gemischt. Aber alle Buchstaben in den beiden Spalten sollen groß sein. Ich habe auch schon eine Formel gefunden =groß(b1), aber diese Funktioniert irgendwie nicht. Ich glaube auch das das ganze über ein Makro schneller und einfacher Geht oder liege ich da falsch und es geht gar nicht über ein Makro? Könnt ihr mir mal sagen was ich machen soll und wie ich es machen soll.

Ps. Die Tabelle besteht aus 5 Spalten( B und D muss ich bearbeiten) und ca 5000 Zeilen. Das währen dann knapp 10000 Zellen die ich bearbeiten muss.

Danke

Gruß Hummel
Mitglied: bastla
02.11.2006 um 15:20 Uhr
Hallo Hummel85!

Grundsätzlich müssten GROSS(B1) - nur Großbuchstaben - oder GROSS2(B1) - nur Anfangsbuchstaben groß - funktionieren.

Vorgangsweise:
In freier Spalte F die Formel eintragen und nach unten ausfüllen, alle 5000 Zellen mit neuer Schreibweise in Zwischenablage kopieren, ursprüngliche 5000 Einträge (in Spalte B) markieren, Bearbeiten / Inhalte einfügen... / Werte wählen, um die alten Einträge durch die neuen zu ersetzen, mit Esc Kopiervorgang abbrechen, überflüssige Spalte F (mit den Formeln) entsorgen; für Spalte D natürlich analog.

Sollten die Funktionen tatsächlich Probleme machen (dann bitte genau anführen, welcher Art bzw wie das Ergebnis genau aussehen sollte), kann man immer noch auf VBA ausweichen.

HTH
bastla
Bitte warten ..
Mitglied: wakko
02.11.2006 um 15:23 Uhr
Moin,
die korrekte Schreibweise der Formel ist GROSS, sollte dann funktionieren.
Als Makro sieht das so aus:
01.
sub machgross() 
02.
Dim i% 
03.
For i = 2 To 5000 
04.
    Sheets(1).Range("B" & i) = ucase(Sheets(1).range("A" & i).value) 
05.
Next 
06.
End Sub
Schreibt den Wert aus Spalte A grossgeschrieben in Spalte B
Mit freundlichen Grüßen
Bitte warten ..
Mitglied: Hummel85
02.11.2006 um 15:29 Uhr
Vielen dank. Das mit der Formel hat funktioniert. Wer lesen kann ist klar im Vorteil ich muss nur =gross schreiben und nicht =groß dann funktioniert das auch. Aber der Tipp mit dem Inhalt Einfügen hat mir auch noch gefehlt. Danke noch mal für die schnelle antwort das spart mir SEHR viel zeit.

Gruß Hummel
Bitte warten ..
Mitglied: Hummel85
02.11.2006 um 15:34 Uhr
Ich habe das Problem jetzt auf einer anderen weise gelöst aber danke auch für deine Antwort.
Bitte warten ..
Mitglied: 8644
02.11.2006 um 15:42 Uhr
Hi,

auch wenn's schon gelöst ist, es gibt auch eine Variante, mit der man sich den Kopieren-Einfügen-Schritt sparen kann:

01.
Sub machgross() 
02.
   Dim mcell As Range 
03.
    For Each mcell In Range("B1:D1000").Cells 
04.
     mcell = UCase(mcell) 
05.
   Next mcell 
06.
End Sub
Psycho
Bitte warten ..
Mitglied: Hummel85
03.11.2006 um 10:22 Uhr
Hallo Psycho Dad,

mal wieder ein makro- von dir was mir gut gefällt. Ich würde dies gern in meine Makro Sammlung aufnehmen. Nun noch ein paar Fragen.

Wie baue ich das um das er mich fragt von wo nach wo das Makro die Buchstaben groß machen soll?

Mein Gedanke war:

Zelle1 = InputBox("Zelle1 Angeben!")
If Zelle1 = "" Then Exit Sub

Aber mein Problem ist. Wie kann ich in dem Aufruf InputBox 2 Felder zum eingeben habe und wie baue ich das dann in dein Makro ein?
Gibt es die Möglichkeit nicht die Spalte auszuschreiben sondern auszuwählen? Also das ich auf die Zelle klicke und die mir dann dort eingetragen wird?

Gruß Hummel
Bitte warten ..
Mitglied: 8644
03.11.2006 um 10:50 Uhr
Moin,

einen Bereich angeben kann man zum Beispiel so:

01.
Sub machgross() 
02.
   Dim bereich As String 
03.
   Dim mcell As Range 
04.
   bereich = InputBox("Bereich angeben") 
05.
    For Each mcell In Range(bereich).Cells 
06.
     mcell = UCase(mcell) 
07.
   Next mcell 
08.
End Sub
Die Eingabe wäre dann z.B. A1:D100.

Die Klickvariante muss ich mal überdenken.

[Edit:

Hier noch eine Variante, in der der Bereich vor Makro-Ausführung markiert wird:
01.
Sub machgross1() 
02.
  Dim mcell As Range 
03.
  For Each mcell In Selection.Cells 
04.
     mcell = UCase(mcell) 
05.
 Next mcell 
06.
End Sub
]




Psycho
Bitte warten ..
Mitglied: Hummel85
03.11.2006 um 12:34 Uhr
Und was ist mit der Variante das ich 2 Eingabefelder habe das ich einmal angeben kann A1 und in der 2. Zeile D1000. Also ich möchte nicht 2 Inputboxen haben sondern nur eine mit 2 Eingabefelder. So das ich dann schreiben kann:

For Each mcell In Range(bereich1":"bereich2).Cells

Und das mit der Auswahl habe ich vielleicht nicht gut ausgedrückt. Ich möchte bei der InputBox ein kleines Feld neben dem was ich eingeben kann, wo ich drauf klicken kann und dann die Zelle 1 oder 2 auswählen kann. Ist so etwas möglich?
Bitte warten ..
Mitglied: 8644
03.11.2006 um 12:58 Uhr
OK,

dann mit einem Formular:

Du öffnest den VBA-Editor und fügst dort ein neues Formular ein.
Auf diesem Formular platzierst du zwei Textfelder und einen Button.
Per Doppelklick auf den Button ensteht eine neue Prozedur, in welche du folgenden Code einfügst:
01.
Dim Bereich 
02.
 Dim mcell As Range 
03.
  Bereich = TextBox1.Value + ":" + TextBox2.Value 
04.
    For Each mcell In Range(Bereich).Cells 
05.
     mcell = UCase(mcell) 
06.
   Next mcell 
07.
 UserForm1.Hide
Gegebenfalls musst du die Namen der Objekte anpassen.
Das Formular wird über ein extra Makro aktiviert:
01.
Sub Aktivieren() 
02.
 UserForm1.Show 
03.
End Sub

Psycho
Bitte warten ..
Mitglied: Hummel85
03.11.2006 um 15:00 Uhr
Hi

So vielen dank. Funktioniert alles wunderbar. Habe mir nur noch ein Abbrechen Button noch eingebaut.

Nur leider gehst du nicht auf die 2. Frage ein.

Ist es möglich bei dem UserForm noch 2 Buttons neben die Textfelder zu platzieren womit ich per Klick die Zelle Auswähle und Excel mir diese z.b. B2 in das Textfeld einträgt.
Bitte warten ..
Mitglied: bastla
03.11.2006 um 15:45 Uhr
Hallo Hummel85!

Darf ich Dich auf das unscheinbare (ganz am Ende der Toolbox - zumindest in Excel 2003- angesiedelte) Objekt "RefEdit" und dessen Eigenschaft "Text" aufmerksam machen?

Grüße
bastla

P.S.: Intuitiver als das direkte "Vorweg-Markieren" erscheint mir diese Variante auch nicht unbedingt - aber zu Übungszwecken sicher ganz ok.
Bitte warten ..
Mitglied: Hummel85
03.11.2006 um 17:52 Uhr
Hallo bastla,

danke für die Information. Genau das habe ich noch gesucht. Werde mich noch ein wenig damit beschäftigen. Mal sehen was ich damit noch machen werde.

Wünsche euch allen ein schönes Wochenende

Gruß Hummel
Bitte warten ..
Mitglied: Holsi87
30.11.2006 um 14:45 Uhr
Hallo ich habe hierzu auch noch einmal eine Frage:

Ich würde gerne,dass excel mir in bestimmten Zellen alles automatisch (also mit z.B. betätigen der ENTER-Taste) GROß schreibt. Egal ob ich es klein oder wie auch immer in die Zelle schreibe. Zahlen können aber auch in der Zelle vokommen. Gibts für sowas auch irgeneine Formatierung oder ein bestimmtes Makro oder ähnliches?! Danke schonmal im voraus.

Mit freundlichen Grüßen
Bitte warten ..
Mitglied: 8644
30.11.2006 um 14:50 Uhr
Hi,

falls ich dich richtig verstanden habe (Beim Verlassen der Zelle in Großbuchstaben umwandeln), geht das so wohl nicht. Entweder hinterher, wie oben beschrieben oder halt gleich richtig eingeben. Aber vielleicht kennt ja jemand anders doch eine Lösung!

Psycho
Bitte warten ..
Mitglied: 8644
30.11.2006 um 15:02 Uhr
Ich noch mal!

hier habe ich einen Lösungsansatz gefunden.

Psycho
Bitte warten ..
Mitglied: Holsi87
04.12.2006 um 14:56 Uhr
Oh achso okay...dann geht das scheinbar nicht ganz so, wie ich mir das gedacht hatte. Naja egal. Auf jedenfall erstmal danke für die Bemühungen.

Mit freundlichen Grüßen Holsi
Bitte warten ..
Mitglied: bastla
05.12.2006 um 01:10 Uhr
Hallo Holsi87!

Meintest Du etwas in der Art:
01.
Private Sub Worksheet_Change(ByVal Target As Range) 
02.
If Target.Cells.Count > 1 Or IsEmpty(Target) Then Exit Sub 
03.
If Intersect(Target, Range("B2:B20")) Is Nothing Then Exit Sub 
04.
On Error Resume Next 'nur zur Sicherheit 
05.
Application.EnableEvents = False 
06.
Target.Value = UCase(Target.Value) 
07.
Application.EnableEvents = True 
08.
On Error GoTo 0 
09.
End Sub
Damit wird für alle Zellen des Bereiches B2:B20 (siehe Zeile " ;If Intersect ...") die gewünschte Umwandlung in Großbuchstaben vorgenommen.
Bitte beachten: Der Code ist einer Tabelle, nicht einem Modul, zuzuordnen.

HTH
bastla
Bitte warten ..
Mitglied: 8644
05.12.2006 um 07:39 Uhr
Moin,

das meinte ich, als ich schrieb:
Aber vielleicht kennt ja jemand anders doch eine Lösung!
Hätte auch heissen können: "Vielleicht kennt ja bastla doch noch eine Lösung!"

Psycho
Bitte warten ..
Mitglied: bastla
05.12.2006 um 09:24 Uhr
@psycho
... alles nur geklaut.

Grüße
bastla
Bitte warten ..
Mitglied: Biber
05.12.2006 um 10:04 Uhr
Aber, ganz abgesehen von bastla's und Psycho Dad's Workarounds:

Das darf doch wohl nicht wahr sein, dass ich nicht mal ein "Eingabeformat" für Zellen oder Bereiche festlegen kann in diesem merkwürdigen Tabellentool des sympathischen Weltmarktführers??!!???
M$ selbst hat doch da ganz offensichtlich auch eigene "Sonderformate" hinterlegt für so häufig benutzte Formate wie "Sozialversicherungsnummer" oder, was wir im Bremen fast rund um die Uhr brauchen, das "Postleitzahlenformat (CH)".
Also, nichts gegen die Schwyzer, darum gehts mir nicht, @psycho *gg

Wenn da noch jemand eine andere Möglichkeit posten würde, wäre ich sehr angetan.

Und BTW: Wie ist das denn in OpenOffice gelöst? Waren die schlauer?

Grüße
Biber
Bitte warten ..
Mitglied: 8644
05.12.2006 um 10:10 Uhr
@Biber:

Ich hab gerade mal nachgesehen. OpenOffice beherrscht dieses Feature offensichtlich auch nicht! Ich bin da auch schon öfter drüber gestolpert und musste mir immer mit irgend welcher Friemelei helfen!
Also, nichts gegen die Schwyzer, darum gehts mir nicht, @psycho *gg

Was hab ich denn bitte mit der Schweiz zu tun?

Psycho
Bitte warten ..
Mitglied: Biber
05.12.2006 um 10:17 Uhr
Was hab ich denn bitte mit der Schweiz zu tun?
Rate mal, worin ich besser bin: Bei Bätschen oder in Erdkunde?

Irgendwie dachte ich immer, Suhl liegt in diesem Tal zwischen Matterhorn und Genfer See??
Bitte warten ..
Mitglied: 8644
05.12.2006 um 10:20 Uhr
Du bist ja fast noch besser, als die Dame von der DB, die mich nach Südkorea schicken wollte, als ich ihr meinen Heimatort nannte! Für alle, die es nicht wissen: Suhl liegt im schönen Thüringen, also im grünen Herzen von Deutschland!

Psycho
Bitte warten ..
Mitglied: Holsi87
05.12.2006 um 10:57 Uhr
Ja, Danke, genau sowas meinte ich. ;)

Also, Mit freundlichen Grüßen Holsi
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Microsoft Office
gelöst Excel-Formel oder VBA (7)

Frage von nicki01 zum Thema Microsoft Office ...

Batch & Shell
gelöst Loginzeiten aus dem Ereignisprotokoll in Excel schreiben (1)

Frage von l-Ne0n zum Thema Batch & Shell ...

Batch & Shell
gelöst Selected Gridview Value in Variable schreiben (4)

Frage von reissaus73 zum Thema Batch & Shell ...

Microsoft Office
Rechnungen in Word - zu lange Formel (2)

Frage von traller zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Microsoft
Ordner mit LW-Buchstaben versehen und benennen (19)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...