Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1352to1356
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
Zellinhalte nach links verschieben (lückenlos)?
18.03.2014 09:41:33
Selma
Hallo Leute,
wie kann ich bitte per VBA die Zellinhalte (Spaltenbereich B:O) bis zur Spalte B nach links verschieben?
Es sollen nacher ab Spalte B gesehen, keine Lücken dazwischen sein.
Vorher:


Nachher:


Danke vorab!
Gruß,
Selma

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
SpecialCells(xlCellTypeBlanks)
18.03.2014 10:33:16
Matthias
Hallo Selma
ActiveSheet.UsedRange.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlToLeft Gruß Matthias

AW: SpecialCells(xlCellTypeBlanks)
18.03.2014 10:48:06
Selma
Hallo Matthias,
perfekt. Vielen Dank!
Eine bitte noch.... Was habe ich bitte in diesem Code falsch?
Es kommt immer hier "iText = varEingabe" die Meldung, das die Typen unverträglich sind.
Laufzeitfehler 13.
Sub Prefix()
Dim WkSh As Worksheet
Dim lZeile As Long
Dim iText As Long, varEingabe
Set WkSh = ActiveSheet
varEingabe = Application.InputBox(Prompt:="Bitte Kürzel eingeben!" & vbLf & "LTA oder TST  _
oder RNS", _
Title:="Prefix in Spalte A", Default:="LTA")
If varEingabe  False Then
iText = varEingabe
For lZeile = 1 To WkSh.Cells(Rows.Count, 1).End(xlUp).Row
If WkSh.Cells(lZeile, 1).Value  "" Then
WkSh.Cells(lZeile, 1).Value = "2014_" & iText & "_" & WkSh.Cells(lZeile, 1).Value
End If
Next lZeile
End If
End Sub

Anzeige
iText = varEingabe ?
18.03.2014 11:02:05
Matthias
Hallo
iText = varEingabe
was willst Du denn damit ?
Long=String ?
Du benutzt doch iText sowieso nicht, also raus damit ;-)
Gruß Matthias

AW: hier die Änderung ...
18.03.2014 11:26:31
Selma
Hallo Matthias,
perfekt :-) Vielen Dank!
Viele Grüße,
Selma

da ist aber noch mehr im Argen ...
18.03.2014 11:38:15
Matthias
Hallo
Hier mal die nächste Änderung:
Option Explicit
Sub Prefix()
Dim lZeile&, varEingabe
varEingabe = InputBox("Bitte Kürzel eingeben!" & vbLf & "LTA oder TST oder RNS", "Prefix in  _
Spalte A", "LTA")
If StrPtr(varEingabe) = 0 Then Exit Sub
If UCase(varEingabe)  "LTA" And UCase(varEingabe)  "TST" And UCase(varEingabe)  "RNS"  _
Then Exit Sub
If varEingabe  vbNullString And Len(Trim(varEingabe)) > 0 Then
For lZeile = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(lZeile, 1).Value  "" Then
Cells(lZeile, 1).Value = "2014_" & UCase(varEingabe) & "_" & Cells(lZeile, 1).Value
End If
Next lZeile
End If
End Sub
Und es ist immernoch möglich den Code mehrfach auszuführen.
Das sehe dann so aus:
 A
12014_LTA_2014_LTA_A
22014_LTA_2014_LTA_B
32014_LTA_2014_LTA_C


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Matthias

Anzeige
AW: da ist aber noch mehr im Argen ...
20.03.2014 12:31:23
Selma
Danke Matthias!

AW: SpecialCells(xlCellTypeBlanks)
18.03.2014 11:27:23
fcs
Hallo Selma,
Die Inputbox liefert dir ggf. Text, da iText als Integer deklariert ist kommt Typ-Fehler.
du kannst die Zeile
iText = varEingabe
weglassen und in der anderén Zeile statt iText die Variable vaeEingabe verwenden
         WkSh.Cells(lZeile, 1).Value = "2014_" & varEingabe & "_" & WkSh.Cells(lZeile, 1).Value

oder du musst iText als String oder Variant deklarieren.
Ich würde das wie folgt lösen, so dass auch die zulässigen Eingaben geprüft werden
Gruß
Franz
Sub Prefix()
Dim WkSh As Worksheet
Dim lZeile As Long
Dim iText As Long, varEingabe
Set WkSh = ActiveSheet
Eingabe:
varEingabe = Application.InputBox(Prompt:="Bitte Kürzel eingeben!" & vbLf _
& "LTA oder TST  oder RNS", _
Title:="Prefix in Spalte A", Default:="LTA")
Select Case varEingabe
Case False
Case "LTA", "TST", "RNS"
For lZeile = 1 To WkSh.Cells(Rows.Count, 1).End(xlUp).Row
If WkSh.Cells(lZeile, 1).Value  "" Then
WkSh.Cells(lZeile, 1).Value = "2014_" & varEingabe & "_" & WkSh.Cells(lZeile, 1). _
Value
End If
Next lZeile
Case Else
MsgBox "unzulässige Eingabe für Prefix in Spalte A"
GoTo Eingabe
End Select
End Sub

Anzeige
AW: SpecialCells(xlCellTypeBlanks)
20.03.2014 12:31:05
Selma
Danke Franz!

nicht UsedRange sondern DeinBereich ...
18.03.2014 10:38:12
Matthias
Hallo nochmal
Musst natürlich Deinen Bereich benutzen statt UsedRange, sorry.
Gruß Matthias

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige