Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
552to556
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
552to556
552to556
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA lernen. Spalten markieren. Aber wie ?

VBA lernen. Spalten markieren. Aber wie ?
23.01.2005 09:24:46
Diago
Hallo zusammen,
derzeit lerne ich VBA. EIn paar Grundzüge kann ich auch - im Moment suche ich aber ein Script, das mir die letzen DREI gefüllten Spalten (also die gesamten drei Saplten) markiert.
Mein Problem ist weder eilig noch sehr wichtig, aber wenn jemand Zeit hat, wäre es lieb, wenn er mir die ein Script posten könnt, das genau das tut.
Ich löse das Makro aus, in dem ich das Marko starte - und dann sollten die jeweils drei letzen Spalten markiert sein.
Danke !
Diago

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA lernen. Spalten markieren. Aber wie ?
23.01.2005 09:33:06
Josef
Hallo Diago!
Im Prinzio so:

Sub dreiSpalten()
Dim lastCol As Integer
lastCol = IIf(Range("IV1") <> "", 256, Range("IV1").End(xlToLeft).Column)
Range(Cells(1, lastCol - 2), Cells(65536, lastCol)).Select
End Sub

Dazu ist aber zu sagen, das selectieren und markieren fast immer unnötig ist!
Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
Anzeige
AW: VBA lernen. Spalten markieren. Aber wie ?
Diago
Vielen Dank ! Hat perfekt geklappt.
Eine Frage aber noch - wie verbinde ich ein solches Script mit einem aufgezeichneten Makro ?
Ich würde gerne "erst das Script wie oben" laufen lassen und dann direkt das folgende Makro :

Sub test1()
' test1 Makro
' Makro am 23.01.2005 von Diago aufgezeichnet
Selection.Font.Bold = True
Selection.Font.Italic = True
With Selection.Font
.Name = "Arial"
.Size = 11
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.NumberFormat = "0.0"
Selection.NumberFormat = "0.00"
End Sub

Anzeige
AW: VBA lernen. Spalten markieren. Aber wie ?
23.01.2005 10:14:38
Josef
Hallo Diago!
Das ganze in einem Makro und ohne Select!


      
Sub dreiSpalten()
Dim lastCol As Integer
lastCol = IIf(Range(
"IV1") <> "", 256, Range("IV1").End(xlToLeft).Column)
With Range(Cells(1, lastCol - 2), Cells(65536, lastCol))
   
   .Font.Bold = 
True
   .Font.Italic = 
True
   
   
With .Font
   .Name = 
"Arial"
   .Size = 11
   
End With
   
   .HorizontalAlignment = xlCenter
   .VerticalAlignment = xlBottom
   .WrapText = 
False
   .Orientation = 0
   .AddIndent = 
False
   .IndentLevel = 0
   .ShrinkToFit = 
False
   .ReadingOrder = xlContext
   .MergeCells = 
False
   
   .NumberFormat = 
"0.00"
   
End With
End Sub 


Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
Anzeige
AW: VBA lernen. Spalten markieren. geht nimmer ?
Diago
Hallo zusammen,
gestern ging es noch. Heute in eine bestehende Excel-Datei das "Modul" eingefügt - das ganz einfache (!) - das da :

Sub dreiSpalten010()
Dim lastCol As Integer
lastCol = IIf(Range("IV1") <> "", 256, Range("IV1").End(xlToLeft).Column)
Range(Cells(1, lastCol - 2), Cells(65536, lastCol)).Select
End Sub

Und ...es geht nicht mehr - beim Debuggen "macht er mir die Zeile Ragne(Cells etc.etc.) - gelb. Warum ? jetzt dachte ich, das ich es verstanden hätte :-(
Danke einstweilen - wie gesagt - ist nicht eilig !
Diago
Anzeige
AW: VBA lernen. Spalten markieren. geht nimmer ?
24.01.2005 09:30:04
Josef
Hallo Diago!
Ich vermute mal, das in der Tabelle erst ein oder zwei Spalten gefüllt sind!
Dann ergibt "lastCol" zB. zwei "lastCol - 2" wäre dann Null und die Spalte
Null gibt's nun mal nicht!
Das lässt sich so abfangen:

Sub dreiSpalten010()
Dim lastCol As Integer
lastCol = IIf(Range("IV1") <> "", 256, Range("IV1").End(xlToLeft).Column)
If lastCol < 3 then lastCol = 3
Range(Cells(1, lastCol - 2), Cells(65536, lastCol)).Select
End Sub

Gruß Sepp
P.S.: Rückmeldung nicht vergessen!

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige